正则表达式(二)验证邮箱、电话号码

正则表达式的常用例子: E-Mail地址 和手机号码、固定电话号码

验证e-mail邮箱地址

有效的电子邮箱地址基本格式是一串字符(由字母、数字、下划线 、短线“-”、点号“.”组成),紧跟着@符号,最后还有一些字符。
我们都知道在@之前至少有一个字符,其后必须至少有三个字符,这三个字符中第二个还必须是一个点. ([email protected]是有效地址 而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("[email protected]"));
console.log(isVailEmail("[email protected]"));

验证手机号码

验证规则: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}$)/;

你可能感兴趣的:(JS基础知识整理)