正则表达式
正则表达式:用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,
这个“规则字符串”用来表达对字符串的一种过滤逻辑。一种字符串匹配的模式。
可以用来:
- 测试字符串内的模式
可以测试输入字符串,以查看字符串内是否出现需要模式。作数据验证。
- 替换文本
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。
- 基于模式匹配从字符串中提取子字符串
可以查找文档内或输入域内特定的文本。
| 符号 | 描述 | |
| ^ | 开始位置 | |
| $ | 结束位置 | |
| () | 域段 | |
| [] |
其中任意一个字符
,默认是一个字符长度 |
[12a]=> 1、2、a
|
| [^] |
非其中任意一个字符
,默认是一个字符长度 |
[^\d] --- 非数字 |
| {n,m} | 匹配长度 |
{2} --- 两次
{2,7} --- 最少2 最大7
{1,} --- 最少1 最大无限
|
| \d | 0-9任意一个数字 | =>[0-9] |
| \w | 数字字母下划线 | =>[A-Za-z0-9_] |
| | | 或 |
2|3 => [23] => 2、3
|
| . | 任何单个字符 | [.]=>.字符点(\. ) |
| ? | 0-1次 |
0?[1-9] => 01-9/1-9
|
| + | 1-多次 | =>{1,} eg:[1]+ => 1 / 11 / 111 / …… |
|
*
|
0-多次 | => {0,} |
实例:
手机号:
var txt="13712341234"; var reg=/^1[3-9]\d{9}$/; console.log(reg.test(txt));
身份证(18位):
var txt="41140312341234123x"; var reg=/^\d{17}(\d|X|x)$/; console.log(reg.test(txt));
qq邮箱:
var txt="123456789_@qq.com"; var reg=/^\w+@qq\.com$/; // var reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; console.log(reg.test(txt));
账号密码验证(6-8位 数字、字母、下划线):
var txt="241_hgf"; var reg=/^\w{6,8}$/; console.log(reg.test(txt));
中文:
var txt="一"; var reg=/[\u4e00-\u9fa5]/; // \u4e00\u4e00 吉 console.log(reg.test(txt));
年月日(xxxx-xx-xx):
var txt="2001-01-31"; var reg=/^\d{4}-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|3[01])$/; console.log(reg.test(txt));
两位小数:
var txt="135.19"; var reg=/^\d{0,}[.]\d{0,2}$/; console.log(reg.test(txt));

浙公网安备 33010602011771号