js - 正则常见规则

正则

常见规则

  1. 匹配中文字符的正则表达式: [\u4e00-\u9fa5]
  2. 匹配双字节字符(包括汉字在内): [^x00-xff]
  3. 匹配中文,英文字母和数字及_: ^[\u4e00-\u9fa5_a-zA-Z0-9]+$

validate.js

const rules = {
eg: {
reg: /^\d$/,
msg: 'msg'
},
identity: {
reg: /(^\d{15}$)|(^\d{17}(x|X|\d)$)/,
msg: '请输入正确的身份证号'
},
negative: {
reg: /^([1-9][\d]{0,7}|0)(\.[\d]{1,10})?$/,
msg: '输入的金额格式不正确!'
},
creditCode: {
reg: /[1-9A-GY]{2}[1-5]{1}[0-9]{5}[0-9A-Z]{10}/,
msg: '请输入正确社会统一代码'
},
telOrMobile: {
reg: /^1[345789]\d{9}|^0\d{2,3}-?\d{7,8}$/,
msg: '请输入正确的电话或手机号码'
},
}
export function valid(ruleKey, value) {
return rules[ruleKey].reg.text(value)
}
/**
* @method 验证电话
* @param {String} str
* @description 验证规则:区号+号码,区号以0开头,3位或4位
* 号码由7位或8位数字组成区号与号码之间可以无连接符,也可以“-”连接
* 如01088888888,010-88888888,0955-7777777
*/
export function isTel(str) {
return /^0\d{2,3}-?\d{7,8}$/.test(str)
}
/**
* @method 验证手机
* @param {String} str
* @description 验证规则:11位数字,以1开头。
*/
export function isMobile(str) {
return /^1\d{10}$/.test(str)
}
/**
* @method 验证邮箱
* @param {String} str
* @description 验证规则:姑且把邮箱地址分成“第一部分@第二部分”这样
* 第一部分:由字母、数字、下划线、短线“-”、点号“.”组成,
* 第二部分:为一个域名,域名由字母、数字、短线“-”、域名后缀组成,
* 而域名后缀一般为.xxx或.xxx.xx,一区的域名后缀一般为2-4位,如cn,com,net,现在域名有的也会大于4位
*/
export function isTel(str) {
return /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/.test(str)
}
/**
* @method 验证帐号是否合法
* @param {String} str
* @description 验证规则:字母、数字、下划线组成,字母开头,4-16位。
*/
export function isAccount(str) {
return /^[a-zA-z]\w{3,15}$/.test(str)
// return str.match(/[_]/g).length > 1 && /^(?!_)[a-zA-Z\u4e00-\u9fa5_\d]{2,30}$/.test(str) // 2-30位账号,可输入中文/英文/数字,_不为首位且只有一个
}
/**
* @method 验证价格是否合法
* @param {String} price
* @description
*/
export function isPrice(price) {
return /(^[1-9]\d*(\.\d{1,2})?$)|(^0?(\.\d{1,2})?$)/.test(price)
}
posted @   zc-lee  阅读(209)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示