电话号码与邮箱的正则表达式

var str1 = "18734903350";
var str2 = "1269128116@qq.com";
var str3 = "7fgametest";

var is_email = function (text) {
    var pattern = /^\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]*\.)+[A-Za-z]{2,14}$/;
    return pattern.test(text);
};

var is_phonenumber = function (text) {
    var pattern = /^((13\d|14[57]|15[^4,\D]|17[678]|18\d)\d{8}|170[059]\d{7})$/;
    return pattern.test(text);
};

var PhStr = "/(\d{3})\d{4}(\d{4})/";
var blindPhoneNum = function(phonenum){
    return phonenum.replace(/^(\d{3})\d{4}(\d{4})$/,'$1****$2');
};

var blindMail1 =  function(mail){
    return mail.replace(/^(.{4})(.*)(.{1})$/,'$1****$3');
};

var blindMail2 =  function(mail){
    return mail.replace(/^(.{2})(.*)(.{1})$/,'$1****$3');
};

var blindMail3 =  function(mail){
    return mail.replace(/^(.{1})(.*)$/,'$1****$2');
};


str2 = "duhuo@163.com";
if (is_email(str2)) {
    var strArr = str2.split("@");
    var e_str = strArr[0];
    if (e_str.length > 6) {
        e_str = blindMail1(e_str);
    } else {
        e_str = blindMail2(e_str);
    }

    console.log("EEEEEEEEEEEEEEEE");
    console.log(strArr);
    console.log("邮箱显示数据:", e_str + "@" + strArr[1]);
}

if (is_phonenumber(str1)) {
    var p_str = blindPhoneNum(str1);
    console.log("电话号码验证:", p_str);
}

str3 = "eddie木";
var arr = str3.length;
var t_str = null;
if (arr > 6) {
    t_str = blindMail1(str3);
} else if (arr >= 3) {
    t_str = blindMail2(str3);
} else {
    t_str = blindMail3(str3);
}

console.log("普通玩家验证:", t_str);

参考:http://www.cnblogs.com/rubylouvre/archive/2010/03/09/1681222.html

posted @ 2016-11-10 16:06  都市烟火  阅读(2090)  评论(0编辑  收藏  举报