共计 2227 个字符,预计需要花费 6 分钟才能阅读完成。
在咱们理论我的项目当中常常会遇到一些罕用的正则办法,这里对立整顿一下,后续的话会一直的更新欠缺。(欢送大家珍藏补充)
罕用的正则办法
export const regExpConfig = {mobile: /^1([3|4|5|7|8|])\d{9}$/, // 手机号码
telephone: /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/, // 固定电话
num: /^[0-9]*$/, // 数字
phoneNo: /(^1([3|4|5|7|8|])\d{9}$)|(^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$)/, // 电话或者手机
policeNo: /^[0-9A-Za-z]{4,10}$/, // 账号 4 -10 位数字或字母组成
pwd: /^[0-9A-Za-z]{6,16}$/, // 明码由 6 -16 位数字或者字母组成
isNumAlpha: /^[0-9A-Za-z]*$/, // 字母或数字
isAlpha: /^[a-zA-Z]*$/, // 是否字母
isNumAlphaCn: /^[0-9a-zA-Z\u4E00-\uFA29]*$/, // 是否数字或字母或汉字
isPostCode: /^[\d-]*$/i, // 是否邮编
isNumAlphaUline: /^[0-9a-zA-Z_]*$/, // 是否数字、字母或下划线
isNumAndThanZero: /^([1-9]\d*(\.\d+)?|0)$/, // 是否为整数且大于 0 /^[1-9]\d*(\.\d+)?$/
isNormalEncode: /^(\w||[\u4e00-\u9fa5]){0,}$/, // 是否为非特殊字符(包含数字字母下划线中文)isTableName: /^[a-zA-Z][A-Za-z0-9#$_-]{0,29}$/, // 表名
isInt: /^-?\d+$/, // 整数
isTableOtherName: /^[\u4e00-\u9fa5]{0,20}$/, // 别名
isText_30: /^(\W|\w{1}){0,30}$/, // 匹配 30 个字符,字符能够使字母、数字、下划线、非字母,一个汉字算 1 个字符
isText_50: /^(\W|\w{1}){0,50}$/, // 匹配 50 个字符,字符能够使字母、数字、下划线、非字母,一个汉字算 1 个字符
isText_20: /^(\W|\w{1}){0,20}$/, // 匹配 20 个字符,字符能够使字母、数字、下划线、非字母,一个汉字算 1 个字符
isText_100: /^(\W|\w{1}){0,100}$/, // 匹配 100 个字符,字符能够使字母、数字、下划线、非字母,一个汉字算 1 个字符
isText_250: /^(\W|\w{1}){0,250}$/, // 匹配 250 个字符,字符能够使字母、数字、下划线、非字母,一个汉字算 1 个字符
isNotChina: /^[^\u4e00-\u9fa5]{0,}$/, // 不为中文 IDcard: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/, // 身份证
IDcardAndAdmin: /^(([1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X))|(admin))$/, // 身份证或者是 admin 账号
IDcardTrim: /^\s*(([1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3})|([1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X))|(admin))\s*$/, // 身份证
num1: /^[1-9]*$/, // 数字
imgType: /image\/(png|jpg|jpeg|gif)$/, // 上传图片类型
isChina: /^[\u4e00-\u9fa5]{2,8}$/,
isNozeroNumber: /^\+?[1-9]\d*$/, // 大于零的正整数
float: /^\d+(\.?|(\.\d+)?)$/, // 匹配正整数或者小数 或者 0. 这个非凡值
htmlbody:/<body[^>]*>((.|[\n\r])*)<\/body>/im,// 获取申请页面地址 body 内容
}
验证身份证格局
export const verifySfz = (sfz) => {if (sfz.length !== 18) return false;
const a_i = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
const a_last = ["1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"];
let sum = sfz
.slice(0, -1)
.split("")
.reduce((a, n, i) => {return a + n * a_i[i];
}, 0);
return sfz.substr(-1) === a_last[sum % 11];
}
正文完
发表至: javascript
2020-07-20