JS正则表达式
正则表达式使用单个字符来描述匹配一系列符合某个句法规则的字符串搜索模式
正则表达式对象方法
<!DOCTYPE
html
>
<
html
lang=
"en"
>
<
head
>
<
meta
charset=
"UTF-8"
>
<
title
></
title
>
<
script
>
var
str
=
'good'
;
/*m
表示多行匹配
i
表示忽略大小写
g
表示全局匹配
*/
var
reg
=
new
RegExp(
'o'
,
'g'
);
//
匹配正则返回一个数组
//lastIndex
是搜索的字符下标起始位置
reg
.
lastIndex
=
0
;
console
.
log
(
reg
.
exec
(
str
));
//exec
在字符串中进行匹配搜索,返回结果数组
console
.
log
(
reg
.
exec
(
str
));
console
.
log
(
reg
.
exec
(
str
));
console
.
log
(
reg
.
exec
(
str
));
</
script
>
</
head
>
<
body
>
</
body
>
</
html
>
注意:打印四次,前两次返回的为两个o,第三次为null,从第四次开始返回第一个o查找。
string字符串对象方法
:常用的有match,search等方法
var
str
=
'hellow world'
;
var
reg
=
/o/ig
;
//
字符串匹配正则表达式,返回的是匹配到的结果数组
console
.
log
(
str
.
match
(
reg
))
var
str
=
'hellow world'
;
var
reg
=
/l/
;
//
检索与正则表达式相匹配的值,返回的是匹配值得索引
console
.
log
(
str
.
search
(
reg
))
RegExp常用符号
正则表达式--验证年龄
<
script
>
//120
岁以下匹配成功
var
age
=
9
;
var
reg
=
/^(1[0-1]|[1-9])?\d$|^120$/
;
alert
(
reg
.
test
(
age
)?
'
匹配成功
'
:
'
匹配失败
'
);
</
script
>
正则表达式--验证注册页面
//
密码只能有英文字母和数字组成,长度为
4-10
个
var
password
=
'aaa-123'
;
var
reg
=
/^[a-zA-Z0-9]{4,10}$/
;
alert
(
reg
.
test
(
password
)?
'
匹配成功
'
:
'
匹配失败
'
);
//
用户名只能用英文字母和数字组成,第一位只能由英文字母组成,长度
4-16
位
var
name
=
'a12345'
;
var
err
=
'110'
;
var
reg
=
/^[a-zA-Z][A-Za-z0-9]{4,16}$/
;
alert
(re.
test
(na));
//
生日的年份子啊
1900-2009
之间,生日的格式为
1980-5-12
或
1988-05-04
的形式
var
birth
=
'1996-09-18'
;
var
reg
=
/^(19\d{2}|200\d)-(0?[1-9]|1[0-2])-(0?[1-9]|[1-2]\d|3[0-1])$/
;
alert
(
reg
.
test
(
birth
)?
'
匹配成功
'
:
'
匹配失败
'
);