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)

posted @ 2013-01-11 16:39  闲时乱翻书  阅读(207)  评论(0编辑  收藏  举报