JS:如何验证手机号格式和邮箱格式?(正则)

进入我的主页,查看更多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

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

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值