有时候正则表达式可以大大提高我们的开发效率呢
比如这段校验基本日期格式的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常用正则表达式的文章大家可以看看下面的相关链接
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?