网络编程 
首页 > 网络编程 > 浏览文章

JS常用正则表达式超全集(密码强度校验,金额校验,IE版本,IPv4,IPv6校验)

(编辑:jimmy 日期: 2024/12/26 浏览:3 次 )

有时候正则表达式可以大大提高我们的开发效率呢

比如这段校验基本日期格式的javascript代码:

let d1 = "2017/12/10";
let r1 = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
let r = d1.match(r1);
if(r == null){
  console.log("日期格式错误!");
}else{
  console.log("通过~");
}

1、校验密码强度

密码的强度必须包含大小写字母和数字的组合,不能使用特殊符号,长度在8-10之间:

^("*+/="*+/="htmlcode">

if (!s.match(/^[a-zA-Z]+:\\/\\//)){s = "http://" + s;}

13、提取URL链接

^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./"\\"]{0,1}([^\\"\\"\\ >]*)

17、提取页面超链接

(<a\\s*("https" rel="external nofollow" .implode("|(", $follow_list)."))[^"]+)"((".*"|".*"|[\\^"">\\s]+))"*$ 或 ^-[1-9]\d*$

13、 非负整数

^\d+$ 或 ^[1-9]\d*|0$

14、 非正整数

^-[1-9]\d*|0$ 或 ^((-\d+)|(0+))$

15、 非负浮点数

^\d+(\.\d+)",;="等字符

[^%&",;="XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX)

^(\(\d{3,4}-)|\d{3.4}-)"10000.00" 和 "10,000.00", 和没有 "分" 的 "10000" 和 "10,000"

^[1-9][0-9]*$

2.这表示任意一个不以0开头的数字,但是,这也意味着一个字符"0"不通过,所以我们采用下面的形式

^(0|[1-9][0-9]*)$

3.一个0或者一个不以0开头的数字.我们还可以允许开头有一个负号

^(0|-"10."是不通过的,但是 "10" 和 "10.2" 是通过的

^[0-9]+(.[0-9]{2})?$

6.这样我们规定小数点后面必须有两位,如果你认为太苛刻了,可以这样

^[0-9]+(.[0-9]{1,2})?$

7.这样就允许用户只写一位小数.下面我们该考虑数字中的逗号了,我们可以这样

^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$

8.1到3个数字,后面跟着任意个 逗号+3个数字,逗号成为可选,而不是必须

^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$

16、 xml文件

^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$

17、 中文字符的正则表达式

[\u4e00-\u9fa5]

18、 双字节字符

[^\x00-\xff] (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))

19、 空白行的正则表达式

\n\s*\r (可以用来删除空白行)

20、 HTML标记的正则表达式

<(\S*?)[^>]*>.*?</\1>|<.*? /> (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力)

21、 首尾空白字符的正则表达式

^\s*|\s*$或(^\s*)|(\s*$) (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式)

22、 腾讯QQ号

[1-9][0-9]{4,} (腾讯QQ号从10000开始)

更多关于JS常用正则表达式的文章大家可以看看下面的相关链接

上一篇:jQuery实现小火箭返回顶部特效
下一篇:微信小程序实现上传多个文件 超过10个
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。