正则表达式的常用例子: E-Mail地址 和手机号码、固定电话号码
验证e-mail邮箱地址
有效的电子邮箱地址基本格式是一串字符(由字母、数字、下划线 、短线“-”、点号“.”组成),紧跟着@符号,最后还有一些字符。
我们都知道在@之前至少有一个字符,其后必须至少有三个字符,这三个字符中第二个还必须是一个点. (a@a.b是有效地址 而a@a 和a@a.都是无效的)
@前后的文本必须符合同样的规则:不能以点.开始或结束,且不能有两个句号连续出现。
因此正则表达式如下:
var reEmail=/^(\w+\.?)*\w+@(?:\w+\.)\w+$/;
这个表达式以非捕获性分组(?:\w+.?)开始,它告诉你任何数量的单词字符可以跟零个或者一个点(.)。这一部分可以出现零次或多次(例如a.b.c.d),所以对这个分组使用星号。
表达式\w+@ 这保证在@之前至少有一个单词符号。然后紧跟一个非捕获性分组(?:\w+.),它可以出现一次或者多次,所以使用加号(+)。最后一部分\w+$,表示一行最后的字符必须式一个单词字符,不允许出现类似的a@b.之类的地址。
封装成函数为:
function isVailEmail (sText){
var reEmail=/^(\w+\.?)*\w+@(?:\w+\.)\w+$/;
return reEmail.test(sText);
}
console.log(isVailEmail("a123@164.com"));
console.log(isVailEmail("12.3@164.com"));
验证手机号码
验证规则:11位数,以1开头
function PhoneNum(sText){
var rePhone = /^1[0-9]{10}/;
if (rePhone.test(sText)){
alert("正确输入");
} else {
alert("重新输入手机号码");
}
}
PhoneNum("12345678909");
验证固定号码:
验证规则: 直辖市 三位-八位(010-87651234)
普通市 四位-七位(0517-3160234)
var reTel = /(^0\d{2}-\d{8}$)|(^0\d{3}-\d{7}$)/;