随笔分类 -  小知识随手记系列

摘要:一、问题背景 - 正则表达式匹配任意字符 正则表达式中,“.”(点符号)匹配的是除了换行符“\n”以外的所有字符。但有时候我们需要匹配包括换行符在内的字符,发现了几种正则表达式匹配任意字符(包括换行符)的方法。 可以用 ([\s\S]*),也可以用 “([\d\D]*)”、“([\w\W]*)” 来 阅读全文
posted @ 2021-11-18 22:42 古兰精 阅读(678) 评论(0) 推荐(0) 编辑
摘要:今天看到一个文章说console.table展示数据和copy复制数据,平时用的比较少,一般调试使用console.log(),其实console还有很多其他命令,我自己一般用的很少,所以决定记录一下,使用起来也挺方便。 1、console.table展示数据(以表格形式) 在控制台上展示数组或对象 阅读全文
posted @ 2021-02-26 16:56 古兰精 阅读(515) 评论(0) 推荐(0) 编辑
摘要:一、合并变量赋值 我们经常用到合并变量声明,也就是当我们声明多个同类型的变量时,可以像下面这样简写。 // 长 let test1; let test2 = 1; // 短 let test1, test2 = 1; console.log(test1, test2) // undefined 1 阅读全文
posted @ 2021-02-24 18:34 古兰精 阅读(282) 评论(0) 推荐(0) 编辑
摘要:一、多次重复解构对象 es6居然可以重复解构对象。我们看代码 const obj = { a: { b: 1 }, c: 2 }; const { a: { b }, a, c } = obj; console.log(b, a, c) 一行代码同时获取 a 和 a.b 和 c 。 在a和b都要多次 阅读全文
posted @ 2020-12-03 16:59 古兰精 阅读(409) 评论(0) 推荐(0) 编辑
摘要:在使用正则表达式时,有时我们需要捕获的内容前后必须是特定内容,但又不捕获这些特定内容的时候,零宽断言就起到作用了。 正则表达式零宽断言是正则表达式中的难点,所以重点从匹配原理方面进行分析。零宽断言还有其他的名称,例如"环视"或者"预搜索"等等,不过这些都不是我们关注的重点。 一、基本概念 零宽断言正 阅读全文
posted @ 2020-11-19 18:33 古兰精 阅读(938) 评论(0) 推荐(0) 编辑
摘要:一、匹配次数中的贪婪与非贪婪 在使用修饰匹配次数的特殊符号时,有几种表示方法可以使同一个表达式能够匹配不同的次数,比如:"{m,n}", "{m,}", "?", "*", "+",具体匹配的次数随被匹配的字符串而定。这种重复匹配不定次数的表达式在匹配过程中,总是尽可能多的匹配。比如,针对文本 "d 阅读全文
posted @ 2020-11-19 11:29 古兰精 阅读(1526) 评论(0) 推荐(0) 编辑
摘要:一、匹配分组 字符 功能 | 匹配左右任意一个表达式 (ab) 将括号中的字符作为一个分组 \num 引用分组num匹配到的字符串 (?<name>) 分组起别名 (\k<name>) 引用别名为name分组匹配到的字符串 1、| 需求:匹配出0-100之间的数字 分析:首先我们明确这之间的数字包含 阅读全文
posted @ 2020-11-18 23:34 古兰精 阅读(2971) 评论(0) 推荐(0) 编辑
摘要:正则表达式之前学了好容易忘,使用的时候经常需要再查语法,所以准备再研究下: 1、单字符匹配 字符 功能 . 匹配任意1个字符(除了\n) [] 匹配[]中列举的字符 \d 匹配数字,即0-9 \D 匹配非数字,即不是数字 \s 匹配空白,即空格,tab键 ,\n \S 匹配非空白 \w 匹配单词字符 阅读全文
posted @ 2020-11-18 18:57 古兰精 阅读(1146) 评论(0) 推荐(0) 编辑
摘要:见到这个随机数生成算法好几次了,乍看有点鸡肋,本来用Math.random()就可以的事,想不清楚为什么他要用9301,49297,233280这三个数字?其中有道理吗?还是仅是随意选的三个数?但是这个组合貌似流传很广,好多网站源码里都见到过。 // 生成随机数 export function ge 阅读全文
posted @ 2020-11-16 14:51 古兰精 阅读(925) 评论(0) 推荐(0) 编辑
摘要:在开发过程中,有时候需要js生成全局唯一标识符,在java中可以使用uuid,但是JS中没有现成的函数。总结了一下,JS生成唯一标识符的几种方法。 第一种: function guid() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace 阅读全文
posted @ 2020-10-21 17:13 古兰精 阅读(60582) 评论(0) 推荐(4) 编辑
摘要:一、CSS选择器之兄弟选择器(~和+) 以前还没注意,兄弟元素选择器 ~ 和 + 的区别: ‘+’选择器:表示某元素后相邻的兄弟元素,也就是紧挨着的,是单个的。 ‘~’选择器:则表示某元素后所有同级的指定元素,强调所有的。 二、forEach无法return或break跳出循环的替换方法 我们都知道 阅读全文
posted @ 2020-10-12 16:33 古兰精 阅读(320) 评论(0) 推荐(0) 编辑
摘要:$1,$2表达的是小括号分组里面的内容:$1是第一个小括号里的内容,$2是第二个小括号里面的内容,依此类推。 比如(\\d{4})(\\d{2})(\\d{2}) 匹配"20190919"。$1是第一个括号里匹配的2019,$2是第二个括号里匹配的09,$3是第三个括号里匹配的19。 然后可以利用实 阅读全文
posted @ 2020-06-15 22:48 古兰精 阅读(6128) 评论(0) 推荐(0) 编辑
摘要:1、在线图片资源跨域的问题 解决方法:将“跨域图片资源”转换成base64后,用base64渲染img标签,这样完美解决问题; 如何将“跨域图片”转换成base64呢?原理很简单,将img绘制成canvas,再将canvas转换成base64的img流; 因为图片是跨域的,所以我们在转换过程中需要加 阅读全文
posted @ 2020-05-09 15:07 古兰精 阅读(5516) 评论(0) 推荐(0) 编辑
摘要:window.atob(),window.btoa()方法可以对字符串精选base64编码和解码,但是有些环境比如nuxt的服务端环境没法使用window,所以需要自己实现一个base64的编码解码功能,下面是原生js实现该功能,可以作为一个常用工具使用。 当然github上还有很多比较好的base 阅读全文
posted @ 2019-08-18 21:36 古兰精 阅读(5527) 评论(0) 推荐(0) 编辑
摘要:一、window.open如何绕过浏览器拦截机制 在浏览器的安全机制里,非用户触发的window.open方法是会被拦截的,例如: var btn = $('#btn'); btn.click(function () { // 算做用户触发,所以不会被拦截 window.open('http://c 阅读全文
posted @ 2019-08-06 21:51 古兰精 阅读(6063) 评论(0) 推荐(0) 编辑
摘要:今天看到一个题,是利用正则找重复最多的字符 主要是中间一段正则比较感兴趣,涉及到 \1,\2的理解 单独斜杠的 \1 , \2 表示的是反向引用: ‘\1’ 匹配的是 所获取的第1个()匹配的引用。例如,’(\d)\1’ 匹配两个连续数字字符。如33aa 中的33 ‘\2’ 匹配的是 所获取的第2个 阅读全文
posted @ 2019-07-30 18:41 古兰精 阅读(3703) 评论(0) 推荐(0) 编辑
摘要:1、十六进制颜色与rgba颜色相互转换 // 十六进制转rgb String.prototype.colorRgb = function(){ var sColor = this.toLowerCase(); //十六进制颜色值的正则表达式 var reg = /^#([0-9a-fA-f]{3}| 阅读全文
posted @ 2019-07-09 22:16 古兰精 阅读(411) 评论(0) 推荐(0) 编辑
摘要:一、HLS 文件视频介绍 这两年来越来越多的视频应用使用了m3u8格式的视频,因为可以兼容PC、移动端。相比mp4等视频源,m3u8可以减轻服务器压力(按需加载)。HLS是由苹果公司率先提出的一种协议标准,可用于直播。 查看演示:https://www.helloweba.net/demo/2018 阅读全文
posted @ 2019-03-12 16:46 古兰精 阅读(6481) 评论(0) 推荐(0) 编辑
摘要:方法一:正则实现 function format (num) { var reg=/\d{1,3}(?=(\d{3})+$)/g; return (num + '').replace(reg, '$&,'); } 解释: 1、正则表达式 \d{1,3}(?=(\d{3})+$) 表示前面有1~3个数 阅读全文
posted @ 2018-07-30 23:52 古兰精 阅读(7117) 评论(0) 推荐(1) 编辑
摘要:一、RSS 是什么 1、RSS - 网站的海报,信息自动更新 在解释RSS是什么之前,让我先来打一个比方。读大学的时候,我有个习惯,就是每天要去看食堂后面的海报栏。在那里,会贴出各种各样最新的消息,比如哪个系要开讲座了、星期二晚上的电影放什么、二手货转让等等。只要看一下海报栏,就会对学校的各种活动心 阅读全文
posted @ 2018-05-22 21:25 古兰精 阅读(5854) 评论(0) 推荐(1) 编辑

点击右上角即可分享
微信分享提示