正则表达式是用于匹配字符串中字符组合的模式,在Javasctipt中,正则表达式也是对象。
这正则表达式通常被用来检索,替换那些符合某个模式(规则)的文本,例如验证表单:用户名只能输入英文字母、数字或者下划线,呢陈输入框中可以输入中文(匹配),此外,正则表达还常用于过滤页面内容中的一些敏感词(替换),或从字符串中获取想要的特定部分(提取)等
测试正则表达式test
test()正则对象方法,用于检测字符串是否符合该规则,返回true或false。
regexObj.test(str)
1、regexObj是写的正则表达式
2、str要测试的文本
3、检测str文本是否符合写的正则表达式规范
例子:
// 正则表达式在js中的使用
// 1、利用RegExp对象创建 正则表达式
var regexp = new RegExp(/123/);
console.log(regexp);
// 2、利用字面量创建 正正则表达式
var rg = /123/;
console.log(rg.test(123));//true
正则表达式测试工具:
http://tool.oschina.net/regex
https://c.runoob.com/front-end/854
边界符 说明
^ 以谁开始
$ 以谁结束
^和
在
一
起
,
必
须
精
确
匹
配
范
围
符
[
−
]
方
括
号
内
部
范
围
符
[
a
,
b
,
c
]
只
要
包
含
其
中
一
个
为
t
r
u
e
,
都
包
含
输
出
f
a
l
s
e
/
[
a
−
z
A
−
Z
0
−
9
]
在一起,必须精确匹配 范围符 [-]方括号内部 范围符 [a,b,c] 只要包含其中一个为true,都包含输出false /^[a-zA-Z0-9]
在一起,必须精确匹配范围符[−]方括号内部范围符[a,b,c]只要包含其中一个为true,都包含输出false/[a−zA−Z0−9]/ 26个英文字母(大小写都可以)任何一个放回的都是true
[^] 如果中括号里面有^表示取反的意思
量词符
量词符用来设定某个模式出现次数
量词 说明
* 重复零次或更多次
+ 重复一次或者更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
预定义
预定义 说明
\d 匹配0-9之间任一数字
\D 匹配所有0-9以外的字符,相当于[^0-9]
\w 匹配任意的字母,数字和下划线,相当于[A-Za-z0-9_]
\W 除所有的字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]
\s 匹配空格(包括换行符、制表符、空格符等),相当于[\t\r\n\v\f]
\S 匹配非空格的字符,相当于[^\t\r\n\v\f]
或者 |
量词符例子:
script>
// 量词符: 用来设定某个模式出现的次数
// var reg = /^a$/;
// console.log(reg.test(‘a’));
// console.log(reg.test(‘aa’));
// 1. * 相当于 >= 0 可以出现0次或者很多次
// var reg = /^a*$/;
// console.log(reg.test(''));
// console.log(reg.test('a'));
// console.log(reg.test('aa'));
// console.log(reg.test('aaaaaa'));
// 2. + 相当于 >= 1 可以出现1次或者很多次
// var reg = /^a+$/;
// console.log(reg.test(''));
// console.log(reg.test('a'));
// console.log(reg.test('aa'));
// console.log(reg.test('aaaaaa'));
// 3. ? 相当于 1 || 0
// var reg = /^a?$/;
// console.log(reg.test(''));
// console.log(reg.test('a'));
// console.log(reg.test('aa'));
// console.log(reg.test('aaaaaa'));
// 4. {3 } 就是重复3次
// var reg = /^a{3}$/;
// console.log(reg.test(''));
// console.log(reg.test('a'));
// console.log(reg.test('aa'));
// console.log(reg.test('aaaaaa'));
// console.log(reg.test('aaa'));
// 5. {3, } 大于等于3
var reg = /^a{3,}$/;
console.log(reg.test(''));
console.log(reg.test('a'));
console.log(reg.test('aa'));
console.log(reg.test('aaaaaa'));
console.log(reg.test('aaa'));
// 6. {3, 16} 大于等于3 并且 小于等于16
var reg = /^a{3,16}$/;
console.log(reg.test(''));
console.log(reg.test('a'));
console.log(reg.test('aa'));
console.log(reg.test('aaaaaa'));
console.log(reg.test('aaa'));
console.log(reg.test('aaaaaaaaaaaaaaaaaaaaa'));