美文网首页Web开发
JS:用正则表达式,验证手机号、邮箱输入

JS:用正则表达式,验证手机号、邮箱输入

作者: 以气御码 | 来源:发表于2020-07-11 11:37 被阅读0次

    进入我的主页,查看更多JS的分享!
    我的代码有多短,本篇内容就有多短!

    1. 手机号输入

    /**
     * 验证输入:手机号
     */
    function verPhone(p, required = true) {
      if (!p) {
        return required ? false: true;
      } else {
        // 必须是1开头,第二位数字可以是0-9任意一个,总长为11
        let reg = /^1([0-9])\d{9}$/;
        // 必须是1开头,第二位数字可以是3|5|6|7|8|9任意一个,总长为11
        // let reg = /^1([3|5|6|7|8|9])\d{9}$/;
        if (reg.test(p)) {
          return true;
        } else {
          return false;
        }
      }
    }
    

    2. 邮箱输入

    /**
     * 验证输入:邮箱
     */
    function verMail(m, required = true) {
      if (!m) {
        return required ? false: true;
      } else {
        // 允许存在大小写字母
        // let reg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
        // 允许存在小写字母
        let reg = /^([a-z0-9]+[_|\_|\.]?)*[a-z0-9]+@([a-z0-9]+[_|\_|\.]?)*[a-z0-9]+\.[a-z]{2,3}$/;
        if (reg.test(m)) {
          return true;
        } else {
          return false;
        }
      }
    }
    

    测试:

    console.log(verMail("1433223.com"));
    //输出:false
    console.log(verMail("1433223@p"));
    //输出:false
    console.log(verMail("0123@p.com"));
    //输出:true
    console.log(verMail("@p.com"));
    //输出:false
    console.log(verMail("p@p.com"));
    //输出:true
    console.log(verMail("P@p.com"));
    //输出:false
    console.log(verMail("p@P.com"));
    //输出:false
    console.log(verMail("P@egm.com"));
    //输出:false
    console.log(verMail("-@egm.com"));
    //输出:false
    

    关于邮箱的正则表达式,网上有很多,可以对比下校验的规则。

    3. 中文输入

    /**
     * 验证输入:中文,包括字符
     */
    function verChinese(str, required = true) {
      if (!str) {
        return required ? false: true;
      } else {
        let reg = /^[\u0391-\uFFE5]+$/;
        if (reg.test(str)) {
          return true;
        } else {
          return false;
        }
      }
    }
    

    4. 英文输入

    /**
     * 验证输入:英文,只验证字母
     */
    function verAz(str, required = true) {
      if (!str) {
        return required ? false: true;
      } else {
        let reg = /^[a-zA-Z]*$/;
        if (reg.test(str)) {
          return true;
        } else {
          return false;
        }
      }
    }
    

    5. 数字输入

    /**
     * 验证输入:数字
     * 排除小数点
     */
    function verInt(num, required = true) {
      if (!num) {
        return required ? false: true;
      } else {
        let reg = /^[0-9]+$/;
        if (reg.test(num)) {
          return true;
        } else {
          return false;
        }
      }
    }
    

    6. 数组或字母输入

    /**
     * 验证输入:数字或字母
     */
    function verAzOrInt(str, required = true) {
      if (!str) {
        return required ? false: true;
      } else {
        var reg = /^[0-9a-zA-Z]*$/;
        if (reg.test(str)) {
          return true;
        } else {
          return false;
        }
      }
    }
    

    7.密码输入

    这篇博客园:https://www.cnblogs.com/cexm/p/7737538.html

    如果有补充,请在评论区留言。


    相关文章

      网友评论

        本文标题:JS:用正则表达式,验证手机号、邮箱输入

        本文链接:https://www.haomeiwen.com/subject/pgobcktx.html