正则表达式

来源:互联网 发布:电子相册制作软件宝宝 编辑:程序博客网 时间:2024/06/08 05:03

正则表达式

JavaScript中有种非常强大的内置工具---正则表达式,专门设计用于匹配文本模式。正则表达式可用于创建模式,而后应用于文本字符串,搜索匹配的部分。
正则表达式出现在一对斜线(//)里。讲到正则表达式本身,有一组成为元字符的特殊符号,用于连接字母与数字,创建高度描述性的文本模式。以下是一些常用的正则表达式元字符:
.对,只是个点号,匹配任何字符,换行符除外;
\s匹配空格,空格包括空白字符space、tab、换行符、return/enter;
\d匹配任何数字字符;
  ^字符串需以模式起始,前不能有其他的文字;
\w匹配任何字母数字字符;
$字符串需以模式结束,模式需为字符串最后一个字符;
|选替提供指定可供选择的匹配模式的便利方式;
例1:美国邮编#####-####,用正则表达式为:/^\d\d\d\d\d-\d\d\d\d$/
深入正则表达式:限定符,限定符前为子模式,它控制子模式在模式里出现的次数。
*限定符前的子模式必须出现0或多次;
{n}限定符前的子模式必须出现恰好n次;
+限定符前的子模式必须出现1或多次;
?限定符前的子模式必须出现0或1次;
()集合字符或/和元字符,成为子模式;
{min,max}限定符前的子模式必须出现最少min次,但不多于max次;
例2:美国邮编:/^\d{5}-\d{4}$/
另外,如果想匹配的字符为特殊字符,如$,则以反斜线转义。
RegExp对象的test()方法用于检查字符串是否包含正则表达式模式:
例3:5位数字邮编
var regex=/^\d{5}$/;if(!regex.test(inputField.value))//The ZIP code is invalid!
在正则表达式对象上调用test()方法,如果返回false,表示模式匹配失败。
例4:年月日格式MM/DD/YYYY,用正则表达式为:/^\d{2}\/\d{2}\/\d{4}$/

0 0