常见正则身份证,中文,电话号码等
2019-07-05 本文已影响0人
小西瓜简书
/**
* 正则验证js
* @author XXX
*/
/**
*
* @param {*} tel 验证手机号码
*/
export function tel(val) {
let pattern = /^1[3-9]\d{9}$/g;
return pattern.test(val)
}
/**
*
* @param {*} digits 验证整数
*/
export function digits(val) {
let pattern = /^\d$/g;
return pattern.test(val)
}
/**
* ?:-? 负数
* @param {*} number 验证十进制数字包括(4,897,788.00 || .59)
*/
export function number(val) {
let pattern = /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/g;
// let pattern = /^(?:-?)\d+(\.\d{1,2})?$/g;
return pattern.test(val)
}
/**
*
* @param {*} isChineseChar 中文
* @param {string} min 最小长度
* @param {string} max 最大长度
*/
export function isChineseChar(val,min,max) {
let pattern = new RegExp(`^[\u4e00-\u9fa5]{${min},${max}}$`,"g")
return pattern.test(val)
}
/**
*
* @param {*} isVertifyCode 验证码(4位)
*/
export function isVertifyCode(val,len) {
let pattern = new RegExp(`^\\d{${len}}$`,"g")
return pattern.test(val)
}
/**
*
* @param {*} priceNum 金额
*/
export function priceNum(val) {
let pattern = /^\d+(\.\d{1,2})?$/g;
return pattern.test(val)
}
/**
*
* @param {*} idCard 身份证18 && 15
*/
export function idCard(val) {
let pattern = /^[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})$/g;
return pattern.test(val)
}
/**
* 验证邮箱
*/
export function email(val) {
let pattern = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*/g;
return pattern.test(val)
}
/**
* 验证两次输入是否一致
*/
export function equalTo(newval,oldval) {
let pattern = newval == oldval;
return pattern
}
demo使用
比如:
1、验证2-4为中文用户名
isChineseChar("需要验证的值",最小值,最大值)
isChineseChar("真心真意",2,4) // true
isChineseChar("真心真意",2,3) // false
2、验证手机号是否输入正确
tel("15184121212") // true
tel("10000000000") // false