/**
* 正則驗(yàn)證js
* @author XXX
*/
/**
*
* @param {*} tel 驗(yàn)證手機(jī)號(hào)碼
*/
export function tel(val) {
let pattern = /^1[3-9]\d{9}$/g;
return pattern.test(val)
}
/**
*
* @param {*} digits 驗(yàn)證整數(shù)
*/
export function digits(val) {
let pattern = /^\d$/g;
return pattern.test(val)
}
/**
* ?:-? 負(fù)數(shù)
* @param {*} number 驗(yàn)證十進(jìn)制數(shù)字包括(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 最小長(zhǎng)度
* @param {string} max 最大長(zhǎng)度
*/
export function isChineseChar(val,min,max) {
let pattern = new RegExp(`^[\u4e00-\u9fa5]{${min},${max}}$`,"g")
return pattern.test(val)
}
/**
*
* @param {*} isVertifyCode 驗(yàn)證碼(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)
}
/**
* 驗(yàn)證郵箱
*/
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)
}
/**
* 驗(yàn)證兩次輸入是否一致
*/
export function equalTo(newval,oldval) {
let pattern = newval == oldval;
return pattern
}
demo使用
比如:
1、驗(yàn)證2-4為中文用戶名
isChineseChar("需要驗(yàn)證的值",最小值,最大值)
isChineseChar("真心真意",2,4) // true
isChineseChar("真心真意",2,3) // false
2、驗(yàn)證手機(jī)號(hào)是否輸入正確
tel("15184121212") // true
tel("10000000000") // false