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