工作中不断的用到正则匹配 , 先把用过的记录下来 .
当然 , 治根还是得治本 , 抽空学习正则 , 能自己写出来的正则才有意义 , 而不是网上CV
收纳 ↓↓↓↓
1. 匹配中文字符
[\u4e00-\u9fa5]
^[\u4e00-\u9fa5]{
0,}$
2.匹配双字节字符(包括汉字在内)
[^\x00-\xff]
3. 匹配空白行
\n\s*\r
4. 匹配Email地址
[\w!#$%&'*+/=?^_`{|}~-]+(?:\.[\w!#$%&'*+/=?^_`{
|}~-]+)*@(?:[\w](?:[\w-]*[\w])?\.)+[\w](?:[\w-]*[\w])?
^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
5.匹配网址URL
[a-zA-z]+://[^\s]*
6.匹配国内电话号码
\d{
3}-\d{
8}|\d{
4}-\{
7,8}
7.匹配18位身份证号
^(\d{
6})(\d{
4})(\d{
2})(\d{
2})(\d{
3})([0-9]|X)$
8.匹配正整数
/^[0-9]*$/
9.匹配正整数且不为0
10.匹配正整数
^[1-9]\d*$
11.匹配反斜杠
/\\/g
//字符串里的单个反斜杠为:"\\"
//第一个\为转义, 第二个才是真的\
//附替换单个反斜杠为双反斜杠
str.replace(/\\/g,"\\\\")
12.匹配整数
^-?[1-9]\d*$
13.匹配(年-月-日)格式日期
([0-9]{
3}[1-9]|[0-9]{
2}[1-9][0-9]{
1}|[0-9]{
1}[1-9][0-9]{
2}|[1-9][0-9]{
3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))
14.验证用户密码 , 正确格式为:以字母开头,长度在6~18之间,只能包含字符、数字和下划线。
"^[a-zA-Z]\w{5,17}$"
15.只能输入n位的数字:
"^\d{n}$"
16.只能输入至少n位的数字:
"^\d{n,}$"
17.只能输入m~n位的数字:
"^\d{m,n}$"
18.只能输入零和非零开头的数字:
"^(0|[1-9][0-9]*)$"
19.只能输入有两位小数的正实数:
"^[0-9]+(.[0-9]{2})?$"
20.只能输入有1~3位小数的正实数
"^[0-9]+(.[0-9]{1,3})?$"
21.只能输入非零的正整数:
"^\+?[1-9][0-9]*$"
22.只能输入非零的负整数:
"^\-[1-9][]0-9"*$
23.只能输入长度为3的字符:
"^.{3}$"
24.只能输入由26个英文字母组成的字符串:
"^[A-Za-z]+$"
25.只能输入由26个大写英文字母组成的字符串:
"^[A-Z]+$"
26.只能输入由26个小写英文字母组成的字符串:
"^[a-z]+$"
27.匹配首尾空格的正则表达式:
(^\s*)|(\s*$)
未完待更
分享一个链接,但是不知道能不能通过检测 你是如何学会正则表达式的?
下一篇