一.
(1)正则表达式是描述字符模式的对象。
(2)正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。
(3)语法:
var reg =new RegExp(pattern ,modifiers);
或
var reg=/pattern/modifiers;
例:var reg=new RegExp(“\\w+”,“i”);
var reg=/\w+/i;
注意:pattern:规则模式;modifiers:修饰符(全文匹配或区分大小写)
修饰符:用于执行不区分大小写和全文的搜索。
i-修饰符是用来执行不区分大小写的匹配。
g-修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)
RegExp对象方法
test():搜索字符串指定的值,根据结果并返回真或假。
exec():检索字符串中的指定值,返回值是被找到的值,如果没有发现匹配,则返回null。
举个例子
test()
var reg = new RegExp("hello");//方式二:var reg = /hello/;
var str = "hi , hello Andy , world!";
document.write(reg.test(str));
//返回真假:true;
exec()
var reg = new RegExp("hello");//方式二:var reg = /hello/;
var str = "hi , hello Andy , world!";
document.write(reg.exec(str));
//返回被找的值:hello
二.实际应用
(1)验证用户名和密码
("^[a-zA-Z]\w{5,15}$")
注释:
(1) ^:以^开头
(2) [a-zA-Z]:匹配a-z和A-Z
(3) \w:字符(字母,数字,下划线)
(4) {5,15}:匹配次数为5-15个
(5) $:以$结尾
(2)验证电话号码
("^(\\d{3,4}-)\\d{7,8}$")
注释
/d:代表数字
正确格式:xxx / xxxx - xxxxxxx / xxxxxxxx
(3)验证邮箱
方括号
[ ]:用于查找某个范围内的字符。
例如:
[abc]:查找含有abc的字符。
[^abc]:查找不含abc的字符。
[0-9]: 查找任何从 0 至 9 的数字。
[a-z] :查找任何从小写 a 到小写 z 的字符。
[A-Z] :查找任何从大写 A 到大写 Z 的字符。
[A-z] :查找任何从大写 A 到小写 z 的字符。
[adgk]: 查找给定集合内的任何字符。
[^adgk]: 查找给定集合外的任何字符。
元字符
拥有特殊含义的字符
例如
.:查找单个字符(除换行和行结束)
\w:[a-zA-Z0-9_] (字母,数字,下划线)
\d:[0-9] (数字0-9)
\s:查找空白字符。
量词
例如
n+:匹配任何包含至少一个 n 的字符串。
n*:匹配任何包含零个或多个 n 的字符串。
n?:匹配任何包含零个或一个 n 的字符串。
n{X}:匹配包含 X 个 n 的序列的字符串。
n{X,Y}:匹配包含 X 或 Y 个 n 的序列的字符串。
n{X,}:匹配包含至少 X 个 n 的序列的字符串。
n$:匹配任何结尾为 n 的字符串。
^n:匹配任何开头为 n 的字符串。