JS常用正则表达&RegExp对象

本来想细致整理一下正则表达式和RegExp对象的,但是发现网上完善的教程一抓一大把,于是这篇文章只会记录一些常常用到的正则表达式以及稍做分析。

*转义:/b/匹配字符b,/\b/匹配单词边界,/a*/匹配a、aa、aaa...,/a\*/只匹配a*.

*双重转义:

这两个模式起的作用是一样的,但从普通正则表达式到RegExp对象,需要去掉//,并且对\进行转义成为\\,\\则需要变成\\\\

1.非负整数:/^\d+$/,定死开头与结尾,\d匹配任意一个数字,+意为前面的元字符/[]/()出现至少一次,如a+b为任意个a加一个b

2.正整数:/^[0-9]*[1-9][0-9]*$/,*指示不出现或出现任意次

3.非正整数:/^((-\d+)|(0+))$/,负整数或者0(|符号)

4.整数:/^-?\d+$/,?指示负号出现0次或者1次

5.非负浮点数:/^\d+(\.\d+)?$/, \.指示.

6.浮点数:/^(-?\d+)(\.\d+)?$/

7.全英文字符串:/^[A-Za-z]+$/

8.数字、英文字母、或者下划线_,/^\w+$/

实际应用:

1.用户名:/^[a-zA-Z0-9_-]{4,16}$/

2.邮箱:/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/    .表示除了\n以外的任意字符,使用\.匹配.,中划线同样需要转义

3.手机号正则:/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/

4.包含中文正则:/[\u4E00-\u9FA5]/   unicode中文编码的开始和结束

5.判断日期类型是否为YYYY-MM-DD格式的类型    

/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/

\/匹配/

6.判断日期类型是否为YYYY-MM-DD hh:mm:ss

/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/

7.判断日期类型是否为hh:mm:ss格式的类型    

/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/

猜你喜欢

转载自www.cnblogs.com/linbudu/p/11145866.html