正则简单封装

正则
// reg.js
var reg = {
    name: {
        pattern: /^[\u4E00-\u9FA5A-Za-z0-9]+$/,
        message: '请输入中文,英文,数字'
    },
    ip: {
        pattern: /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/,
        message: '请输入正确的IP地址'
    },
    specialStr: {
        pattern: /^[^@#$%^&*<>"]+$/g,
        message: `不能输入特殊字符包括@#$%^&*<>"`
    },
    iphone: {
		pattern: /^1[34578]\d{9}$/,
        message: "手机号码有误,请重填"
	},
	// 精确小数点后两位
	float_num_2: {
		pattern: /^[0-9]+([.]{1}[0-9]{1,2})?$/,
        message: "非负整数或小数[小数最多精确到小数点后两位]"
	},
    len10: {
        pattern: /^.{0,10}$/,
        message: "请输入长度不超过10字符"
    },
}

// 引用
verify('name, leng10', 'hello word!') 
// log: {result: false,message: "请输入长度不超过10字符"}

/**
 * 正则验证
 * @param {*} keys   需要使用到的正则验证名称可以多个已逗号隔开
 * @param {*} value  需要验证的值
 * @returns 
 */
function verify (keys = '', value = '') {
    if (typeof keys !== 'string') {
        throw new Error('验证对象必须为String')
    }
    if (typeof reg === "undefined") return
    let keysAry = keys.split(','),
        res = []
    keysAry.map(key => {
        if (!eval(reg[key].pattern.toString()).test(value)) {
            res.push({
                result: false,
                message: reg[key].message
            })
        }
    })
    return res[0] ? res[0] : {
        result: true,
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yww_yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值