正则表达式相关内容和用法
1.为什么需要正则表达式?
简洁的代码
严谨的验证文本框中的内容
生产环境中更为常用的方式
实例:
var reg= /^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;
if(reg.test(email) ==false){
$email_prompt.html("电子邮件格式不正确,请重新输入");
return false;
}
2.定义正则表达式
a.普通方式
语法:var reg=/表达式/附加参数;
实例:
var reg=/white/;
var reg=/white/g;
b.构造函数
语法:var reg=new RegExp("表达式","附加参数");
实例:
var reg=new RegExp("white");
var reg=new RegExp("white","g");
3.表达式的模式
a.简单模式
(只能表示具体的匹配)
var reg=/china/;
var reg=/abc8/;
b.复合模式
(可以使用通配符表达更为抽象的规则模式)
var reg=/^\w+$/;
var reg=/^\w+@\w+.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/;
RegExp对象
RegExp对象的方法
exec( )
检索字符中是正则表达式的区配,返回找到的值,并确定其位置
test( )
检索字符串中指定的值,返回true或false
RegExp对象的属性
global
RegExp对象是否具有标志g,表示全局匹配
ignoreCase
RegExp对象是否具有标志i,表示不区分大小写
multiline
RegExp对象是否具有标志m,表示多行匹配
String对象
String对象的方法
match( )
找到一个或多个正则表达式的匹配
search( )
检索与正则表达式相匹配的值
replace( )
替换与正则表达式匹配的字符串
split( )
把字符串分割为字符串数组
正则表达式符号
/…/
代表一个模式的开始和结束
^
匹配字符串的开始
$
匹配字符串的结束
\s
任何空白字符
\S
任何非空白字符
\d
匹配一个数字字符,等价于[0-9]
\D
除了数字之外的任何字符,等价于[^0-9]
\w
匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]
\W
任何非单字字符,等价于[^a-zA-z0-9_]
.
除了换行符之外的任意字符
{n}
匹配前一项n次
{n,}
匹配前一项n次,或者多次
{n,m}
匹配前一项至少n次,但是不能超过m次
*
匹配前一项0次或多次,等价于{0,}
+
匹配前一项1次或多次,等价于{1,}
?
匹配前一项0次或1次,也就是说前一项是可选的,等价于{0,1}