js - 正则常见规则
正则
常见规则
- 匹配中文字符的正则表达式:
[\u4e00-\u9fa5]
- 匹配双字节字符(包括汉字在内):
[^x00-xff]
- 匹配中文,英文字母和数字及_:
^[\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) }
Lee2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步