JS正则表达式的简单用法
一、正则表达式的定义
js中定义表达式很简单,有两种方式,一种是通过构造函数,一种是通过//,也就是两个斜杠。
例如:
var a ="123+abc=ads\\"
;
var p1= /\d{3}\+\w{3}=\w{3}\\/;
//
表达式的方式,也就是//,双斜杠
if
(p1.test(a)){
console.log("true"
);
}
else
{
console.log("false"
);
}
var p2 =
new RegExp("\\d{3}\\+\\w{3}=\\w{3}\\\\");
//
构造函数的方式,参数:字符串
if
(p2.test(a)){
console.log("true"
);
}
else
{
console.log("false"
);
}
var p3 =
new RegExp(/\d{3}\+\w{3}=\w{3}\\/);
//
构造函数的方式,参数:正则表达式
if
(p3.test(a)){
console.log("true"
);
}
else
{
console.log("false"
);
}
使用构造函数定义正则表达式,注意大小写,否则不起作用。由于构造函数的参数是一个字符串,也可以是两个斜杠的方式定义,遇到一些特殊字符就需要使用“\”进行转义。但通过构造函数需要更多的转义字符“\”。
二、正则表达式的验证
正则表达式的方式(参数为字符串)有两个:exec和test
字符串的方式有很多(参数为正则表达式),比如:match
1.
test的方式:
正则表达式的方法test测试给定的字符串是否满足匹配,
返回boolean类型,只有真和假。
(部分匹配)
var a =
"
123qwe
"
;
console.log(/[
0-
9]/.test(a));
结果:
true
2.
exec的方式:
正则表达式方法exec测试给定字符串是否匹配,
返回匹配到的字符串,如果没有匹配的则返回null
var a =
"
123qwe
"
;
console.log(/[
0-
9]{
3}/.exec(a)[
0]);
结果:
123
3.
match
字符串的方法,它的参数为正则表达式,
返回为匹配到的字符串
var a =
"
123qwe
"
;
console.log(a.match(/[
0-
9]{
3}/)[
0]);
结果:
123
4.
replace
字符串方法,参数:正则表达式或字符串,
返回替换后的字符串
var a =
"
123qwe
"
;
console.log(a.replace(/[
0-
9]{
3}/,
""));
结果:
qwe
5.
split
字符串方法,参数:正则表达式或字符串,
返回分隔后的数组
var a =
"
rrrr123qwe
"
;
console.log(a.split(/[
0-
9]{
3}/));
结果:
[
'
rrr
'
,
'
qwe
'
]
三、替换所有的匹配值(/表达式/g)
var a =
"
rwer123qwre
"
;
console.log(a.replace(/r/g,
""));
结果:将所有的r全部替换
we123qwe
而
var a =
"
rwer123qwre
"
;
console.log(a.replace(/r/,
""));
结果:只是将第一个替换
wer123qwre