知道这20个正则表达式,能让你少写1,000行代码
来源:互联网 发布:mac blueray play 编辑:程序博客网 时间:2024/05/07 02:20
知道这20个正则表达式,能让你少写1,000行代码
正则表达式,一个十分古老而又强大的文本处理工具,仅仅用一段非常简短的表达式语句,便能够快速实现一个非常复杂的业务逻辑。熟练地掌握正则表达式的话,能够使你的开发效率得到极大的提升。
正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码:
var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/; var r = fieldValue.match(reg); if(r==null)alert('Date format error!');
下面是在前端开发中经常使用到的20个正则表达式。
1 . 校验密码强度
密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。
^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
2. 校验中文
字符串仅能是中文。
^[\\u4e00-\\u9fa5]{0,}$
3. 由数字、26个英文字母或下划线组成的字符串
^\\w+$
4. 校验E-Mail 地址
同密码一样,下面是E-mail地址合规性的正则检查语句。
[\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
5. 校验身份证号码
下面是身份证号码的正则校验。15 或 18位。
15位:
^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
18位:
^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$
6. 校验日期
“yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。
^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
7. 校验金额
金额校验,精确到2位小数。
^[0-9]+(.[0-9]{2})?$
8. 校验手机号
下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)
^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\\d{8}$
9. 判断IE的版本
IE目前还没被完全取代,很多页面还是需要做版本兼容,下面是IE版本检查的表达式。
^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
10. 校验IP-v4地址
IP4 正则语句。
\\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b
11. 校验IP-v6地址
IP6 正则语句。
(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
12. 检查URL的前缀
应用开发中很多时候需要区分请求是HTTPS还是HTTP,通过下面的表达式可以取出一个url的前缀然后再逻辑判断。
if (!s.match(/^[a-zA-Z]+:\\/\\//)){ s = 'http://' + s;}
13. 提取URL链接
下面的这个表达式可以筛选出一段文本中的URL。
^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
14. 文件路径及扩展名校验
验证windows下文件路径和扩展名(下面的例子中为.txt文件)
^([a-zA-Z]\\ 0 0
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式,能让你少写1,000行代码
- 知道这20个正则表达式 能让你少写1,000行代码
- redis之redis的安装,主从复制配置以及java客户端操作
- zabbix监控windows步骤
- session机制和cookie机制的理解
- Caffe学习系列(2):数据层及参数
- 让我们从机器学习谈起
- 知道这20个正则表达式,能让你少写1,000行代码
- Android学习之路(一)-Activity的生命周期和启动模式-1
- spark mllib机器学习之二 DecisionTree
- [JQuery]原生态Javascript与JQuery调用Ajax之比较
- LeetCode--152. Maximum Product Subarray
- 冒泡动画
- 内联函数 inline
- Lecture 3: Testing
- 机器学习算法的随机数据生成
原创粉丝点击
热门IT博客
热门问题
老师的惩罚
人脸识别
我在镇武司摸鱼那些年
重生之率土为王
我在大康的咸鱼生活
盘龙之生命进化
天生仙种
凡人之先天五行
春回大明朝
姑娘不必设防,我是瞎子
两条腿不一样粗怎么办
吸脂后下垂了怎么办
额头两边窄怎么办
大小胸很明显怎么办
副乳上有小乳头怎么办
喂奶副乳有硬块怎么办
哺乳期有副乳怎么办
乳房疼怎么办
怀孕乳房疼怎么办
双眼皮不够宽怎么办
侧脸不好看怎么办
眼部脂肪厚怎么办
脸部塌陷怎么办
抽脂失败怎么办
抽脂后有硬块怎么办
有轻微腋臭怎么办
轻微腋臭怎么办
后天狐臭怎么办
脸部汗腺堵塞怎么办
腋下汗腺堵塞怎么办
面部汗腺堵塞怎么办
打完狗针后发烧怎么办
痤疮留下疤痕怎么办
伤口留下疤痕怎么办
手臂太粗怎么办
面部毛孔粗大怎么办
脸部皮肤代谢差怎么办
面部皮肤代谢差怎么办
宫颈感染病毒怎么办
宫颈病毒感染怎么办
兰州早孕怎么办
左附件囊肿怎么办
宫颈内口开了怎么办
得了妇科病应该怎么办
孕妇外阴炎怎么办
纹身扣掉结痂怎么办
得了子宫肌瘤怎么办
子宫宫颈囊肿怎么办
龟头念珠菌感染怎么办
龟头炎老是复发怎么办
得了念珠菌怎么办