当前位置: 首页 > 工具软件 > HTML5test > 使用案例 >

正则的test()方法说明

胡修伟
2023-12-01

0.RegExp 对象描述

正则表达式即描述字符串规则的表达式
RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
new RegExp(pattern, [attributes]); 
参数说明:
a:pattern 是正则表达式; 
b:attributes 是一个可选的字符串,包含3种属性:"g"、"i" 和 "m"。分别是:全局匹配、忽略大小写匹配和多行匹配。

pattern.test(str)方法:测试正则表达式与指定字符串是否匹配
test()方法只需要待测试字符串中包含了要测试的字符串就是true

1.匹配一段字符串

//示例如下:
/123456/.test("123456")   //true
/123456/.test("abc123456")   //true
/123456/.test("123456abc")   //true
/123456/.test("12345")   //flase

2.匹配一个位置

//规则
^:起始位置
$:结尾位置
\b:单词边界

//示例如下:
/^http/.test("http://www.baidu.com")    //true
/^http/.test("ahttp://www.baidu.com")    //flase
/com$/.test("http://www.baidu.com")    //true
/com$/.test("http://www.baidu.comb")    //flase
/\bis\b/.test("this")    //flase   此处的is不是单词
/\bis\b/.test("that is my mom !")   //true

3.字符类:匹配一类字符中的一个

[abc]:a或b或c
[0-9]:一个数字     [^0-9]:非数字的一个字符
[a-z]:一个字母
.:任一字符(换行符除外)

//示例如下:
/[0-9]/.test('123')  //true
/[0-9]/.test('abc')  //false
/^[0-9]/.test('abc') //false
/[^0-9]/.test('abc') //true
/[a-z]/.test('abc') //true
/./.test('abc') //true
/./.test('1234abc') //true

4.元字符:具有特殊意义的字符

^、$、\b
\d  :  [0-9]         \D   :  [^\d]
\s  :  空白符      \S   :  [^\s]
\w  :  [A-Za-z0-9] 


//示例如下:
/\d/.test('123') //true
/\D/.test('123') //false
/\D/.test('abc') //true
/\s/.test('1  23') //true
/\S/.test('1 23') //true
/\S/.test(' ') //false
/\w/.test('abc123ABC') //true

5.量词:出现的次数

{m,n}   : m 到 n次之间
* :{0,}   0到无穷次
?: {0,1}  0次或1次
+ :{1,,}  1次或1次以上

//示例如下:
/\d*/.test('abc') //true
/\d+/.test('abc') //false
/\d+/.test('1abc') //true
//说明?匹配0次或1次,下面匹配的是1个s之后,前面均是http一致;
/https?:/.test('https://www.163.com') //true
//说明?匹配0次或1次,下面匹配的是0个s之后,前面均是http一致;
/https?:/.test('http://www.163.com') //true
//说明?匹配0次或1次,下面匹配的是1个s之后,规则是http,待测试字符串是https,前面的内容不一致;
/https?:/.test('httpss://www.163.com') //false
/^1\d{10}$/.test('17796401352')    //true    匹配手机号

参考:https://www.runoob.com/jsref/jsref-obj-regexp.html
 类似资料: