正则表达式学习和常用正则验证规则(包括用户名,密码,手机号,网址等)...

正则表达式基础语法

1.1匹配不同类型的字符

 

字符类

匹配的字符

\d匹配一个数字字符。等价于 [0-9]。
\D匹配一个非数字字符。等价于 [^0-9]。
\w匹配包括下划线的任何单词字符。等价于‘[A-Za-z0-9_]‘。
\W匹配任何非单词字符。等价于 ‘[^A-Za-z0-9_]‘。
\s匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
.(点号)任一字符
[…]括号中的任一字符
[^…]非括号中的任一字符

1.2定位控制字符

^其后的模式必须在字符串的开始处,如果是多行则在任一行的开始C#需要设定Multiline标志
$前面的模式必须在一行的末尾,如果是多行,则在任意行的末尾
\A前面的模式必须在字符串的开始处;多行标志被忽略
\z前面的模式必须在字符串的末尾处,多行标志被忽略
\Z前面的模式必须位于字符串的末尾或位于换行符前
\b匹配一个单词字符的开始,单词字符是[a-zA-Z0-9]中的一位
\B匹配一个非单词边界的位置, 不在一个单词的开始

1.3指定重复字符

{n}匹配前面的字符n次
{n,}匹配前面的字符最少n次
{n,m}匹配前面的字符n至m次
?匹配前面的字符0次或1次
+匹配前面的字符至少1次
*匹配前面的字符至少0次

1.4特殊控制类

|指定字符替换,即该位置可以是|两边的任一个表达式

1.5 特殊字符转义序列

\\匹配“\”
\.匹配”.“
\*匹配”*“
\(匹配”(”
\)匹配“)”
\?匹配”?”
\+匹配”+“
\|匹配”|“
\{匹配”{“
\}匹配”}“
\^匹配”^“
\$匹配”$“
\n匹配换行符
\r匹配回车
\t匹配Tab键
\v匹配垂直制表符
\f匹配换页符
\nnn匹配一个三位八进制数指定的ASCII字符,如\103匹配C
\xnn匹配一个二位16进制数指定的ASCII字符,例如\x43匹配C
\unnnn匹配一个4位16进制数指定的Unicode字符
\cV匹配一个控制字符,(如复制Ctrl+C)

 

常用正则验证规则

1. 检测用户名

要求:5到17位字符由字母开头、数字及英文符号组合

正则表达式:/^[a-zA-Z][a-zA-Z0-9_.@~!?]{4,16}$/

2. 检测密码

要求:8到17位字符由字母、数字及英文符号组合

正则表达式:/^[a-zA-Z0-9_.@~!?]{8,17}$/

3. 检测手机号

要求:精准匹配所有手机号,包括移动、联通、电信

正则表达式:/^(((13[4-9])|147|(15[0-27-9])|178|(18[2-47-8]))[0-9]{8})|((170[356])[0-9]{7})
                |(((13[0-2])|145|(15[56])|(18[56])|17[16])[0-9]{8})|((170[4789])[0-9]{7})
                |((133|153|(18[019])|177)[0-9]{8})|((170[0-2])[0-9]{7})$/

4. 匹配URL网址

要求:http://和www.可有可没有

例如:www.baidu.com 、 baidu.com、http://www.baidu.com、https://i.cnblogs.com/EditPosts.aspx?opt=1

正则表达式:/^(((https|http|ftp|):\/\/)?(www\.)?([\w_\-\.]{0,61})+(\.\w{2,10})+(\/)?[\w_?@&=#\-\.\/]{0,})|(#)$/

转载于:https://www.cnblogs.com/smsadmin/p/5948274.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值