正则表达式

 

正则表达式用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,

这个“规则字符串”用来表达对字符串的一种过滤逻辑。一种字符串匹配的模式。

 

可以用来:

  • 测试字符串内的模式

    可以测试输入字符串,以查看字符串内是否出现需要模式。作数据验证

  • 替换文本

    可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

  • 基于模式匹配从字符串中提取子字符串

    可以查找文档内或输入域内特定的文本。

 

 

 

符号 描述  
^ 开始位置  
$ 结束位置  
() 域段  
[]
其中任意一个字符
,默认是一个字符长度
[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));

 

posted @ 2021-11-04 16:11  十七日尾  阅读(61)  评论(0)    收藏  举报