常见正则身份证,中文,电话号码等

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
上一篇下一篇

猜你喜欢

热点阅读