JavaScript: 正则表达式
在JavaScript中经常需要用到正则表达式,比如验证邮箱地址、生日等输入格式是否合法。下面介绍JS中的正则表达式用法:
一、元字符
. 匹配任何字符,除了换行符外
\d 数字
\w 数字或字母
\s 空格, 包括space, tab,换行符等
^ 字符串以模式开头,即匹配的模式必须位于字符串开始起
$ 字符串以模式结尾,即匹配的模式必须位于字符串结尾处
二、限定符
* 模式出现0次或多次
+ 模式出现1次或多次
? 模式出现0次或1次
{n} 模式必须出现n此
A|B 两者取一
[ABC] 字符组合,可取其中任一个
()子模式
三、正则表达式
正则表达式以/开始和结束,形式为/expression/, expression为上述字符(或元字符)与限定符构成的表达式
var regex = /^/d{5}$/
if (!regex.test(inputField.value))
//the InputField value is invalid
通过test方法判断模式是否匹配
下面示例常见的正规表达式:
1. 日期,设日期格式为MM/DD/YYYY 或 MM/DD/YY
对应的正规表达式为: /^\d{2}\/\d{2}\/(\d{2}|\d{4})$/
注:日期中的/需要进行转义\/
2. 电子邮件
一般的电子邮件格式为:一串字母或数字@一串字母或数字.一串字母或数字(长度为2或3),如test111@163.com, 112117@qq.com
对应的正则表达式为:/^\w+@\w+\.\w{2,3}$/
还考虑需哟其他的邮件格式,例如:aa-bb@youtube.com.nz, love_you@rock.ca
更为一般的正则表达式:/^[\w\.-_\+]+@[\w-]+(\.\w{2,4})+$/ (摘自JavaScript head first)