js中如何获取元素的当前显示样式----简单总结。
JavaScript中正则表达式的常用总结
正则表达式的思维导图:
正则的捕获exec()
exec() 方法用于检索字符串中的正则表达式的匹配。
1 | RegExpObject.exec(string) |
参数 | 描述 |
---|---|
string | 必需。要检索的字符串。 |
返回值:返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。 |
(1)懒惰性
我们先看一个例子:
1 | let reg = /\d+/ |
上述三个打印输出的都是一样的:
我们可以发现,每次匹配到的结果都是相同的,而且索引index的值一直没变,始终指向第一次匹配到的字符串的起始位置,这就是正则的懒惰性,只匹配第一次匹配到的结果,不再向后匹配。
怎么解决懒惰性问题呢?很容易,加个全局修饰符即可。
1 | let reg = /\d+/g |
如上,我们加上全局修饰符之后,再来看输出结果:
我们可以看到,112,456,789这三个数字在原始字符串中都被捕获到了,并且每次的index值也发生了变化;第四个输出为null,表示捕获结束,后面再没有可以捕获的内容了。如此就解决了正则的懒惰性问题。
(2)贪婪性
正则捕获贪婪性的定义:默认情况下,正则捕获的时候,是按照当前正则所匹配的最长结果来获取的。
还是以上述例子来讲:
1 | let reg = /\d+/g |
如果,我们现在想单独捕获到每一个数字,即1,1,2,4,5,6,7,8,9,此时该怎么办呢?
若像上述例子中那样捕获到,则捕获到的内容是数字112,456,789,这三个三位数,显然这把满足要求的连续数字都给一次性捕获到了,这其实就是正则的贪婪性。
那么,如何解决正则的贪婪性呢?即,我们要单独获取到1,1,2,4,5,6,7,8,9这些单个数字:
1 | let reg = /\d+?/g |
解决贪婪性也很简单,即在+后面加一个问号(?)即可。
我们来看加了问号之后的输出:
解决正则的贪婪性很简单,即在量词元字符的后面加问号(?)即可,此例中的量词元字符为+
最常用的15个前端表单验证JS正则表达式
1、 用户名正则
1 | //用户名正则,4到16位(字母,数字,下划线,减号) |
2、密码强度正则
1 | //密码强度正则,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符 |
3、整数正则
1 | //正整数正则 |
4、数字正则
可以是整数也可以是浮点数
1 | //正数正则 |
5、 Email正则
1 | //Email正则 |
6、手机号码正则
1 | //手机号正则 |
7、身份证号正则
1 | //身份证号(18位)正则 |
8、URL正则
1 | //URL正则 |
9、IPv4地址正则
1 | //ipv4地址正则 |
10、十六进制颜色正则
1 | //RGB Hex颜色正则 |
11、日期正则
1 | //日期正则,简单判定,未做月份及日期的判定 |
12、QQ号码正则
1 | //QQ号正则,5至11位 |
13、微信号正则
1 | //微信号正则,6至20位,以字母开头,字母,数字,减号,下划线 |
14、车牌号正则
1 | //车牌号正则 |
15、包含中文正则
1 | //包含中文正则 |
1 | 整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$ |
愿你的坚持总有回报。
细谈apply()与call()
JavaScript基础---原型对象概念详解(仔细理解一下)
彻底理解js中this的指向,理解记忆,不用死记硬背。
JavaScript中基本数据类型和引用数据类型的区别?
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true