正则表达式学习和常用正则验证规则(包括用户名,密码,手机号,网址等)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式学习和常用正则验证规则(包括用户名,密码,手机号,网址等)相关的知识,希望对你有一定的参考价值。
正则表达式基础语法
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][[email protected]~!?]{4,16}$/
2. 检测密码
要求:8到17位字符由字母、数字及英文符号组合
正则表达式:/^[[email protected]~!?]{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})+(\\/)?[\\[email protected]&=#\\-\\.\\/]{0,})|(#)$/
以上是关于正则表达式学习和常用正则验证规则(包括用户名,密码,手机号,网址等)的主要内容,如果未能解决你的问题,请参考以下文章