JS正则表单验证

1 篇文章 0 订阅
1 篇文章 0 订阅

JS正则表单验证

1、js代码
/**
 * 表单验证
 */
var regExp = {};

/**
 * 内置正则表达式
 */
regExp.regex = {
    'zip'         : /^[0-9]{6}$/, //验证值是否为有效的邮政编码
    'alphaDash'   : /^[A-Za-z0-9\\-\\_]+$/, //验证值是否为字母和数字,下划线_及破折号-
    'chs'         : /^[\u4E00-\u9FA5]+$/u, //验证值只能是汉字
    'chsAlpha'    : /^[\u4E00-\u9FA5a-zA-Z]+$/u, //验证值只能是汉字、字母
    'chsAlphaNum' : /^[\u4E00-\u9FA5a-zA-Z0-9]+$/u, //验证值只能是汉字、字母和数字
    'chsDash'     : /^[\u4E00-\u9FA5a-zA-Z0-9\\_\\-]+$/u, //验证值只能是汉字、字母、数字和下划线_及破折号-
    'telOrMobile' : /^((0\d{2,3}-\d{7,8})|(1[3456789]\d{9}))$/, //验证座机或手机号
    'name'        : /^([\u4E00-\u9FA5]{1,20}|[a-zA-Z.s]{1,20})$/, //验证姓名
    'idCard'      : /(^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$)|(^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{2}$)/, //验证值是否为有效的身份证格式
}

/**
 * 默认规则提示
 */
regExp.typeMsg = {
    'zip' : '无效的邮政编码格式',
    'alphaDash' : ':只能是字母和数字,下划线_及破折号-',
    'chs'      : ':只能是汉字',
    'chsAlpha' : ':只能是汉字、字母',
    'chsAlphaNum' : ':只能是汉字、字母和数字',
    'chsDash' : ':只能是汉字、字母、数字和下划线_及破折号-',
    'telOrMobile' : ':只能是数字、破折号-',
    'name' : ':无效的姓名格式',
    'idCard' : ':无效的身份证格式',
};

/**
 * 过滤器
 * @param name 验证字段名
 * @param str 验证值
 * @param type 内置正则类型
 * @returns {{msg: *, bool: *}}
 */
regExp.filter = function (name, str, type) {
    if(regExp.regex[type].test(str)){
        return regExp.msg(true, 'ok');
    }else{
        return regExp.msg(false, name+regExp.typeMsg[type]);
    }
}

/**
 * 公共提示消息
 * @param bool
 * @param msg 信息
 * @returns {{msg: *, bool: *}}
 */
regExp.msg = function (bool, msg) {
    return {'bool':bool, 'msg':msg};
}

2、调用

let info = regExp.filter('联系方式', '15012345678', 'telOrMobile');
console.log(info); //{bool: true, msg: "ok"}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值