正则表达式日常收集
一:数字类的正则校验
1:数字
normal1:/^-?(((0|([1-9]\d*))(\.|(\.\d+))?)?)?$/
normal2:/^-?((0(\.\d+)?)|([1-9]\d*(\.\d+)?))$/
2:整数
normal1:/^-?(0|([1-9]\d*))?$/
normal2:/^-?(0|([1-9]\d*))$/
3:正整数
positiveInteger: /^[1-9]\d*$/,
positiveIntegerBlur: /^[1-9]\d*$/,
4:负整数
negativeInteger: /^-[1-9]\d*$/,
5:正数(一位小数)
positiveADecimalNumber:/^((([1-9]\d*)(\.\d)?)|(0\.\d))$/
6:正数(2,3,4 位小数)
positive2NumberBlur:/(^([1-9]\d*)(\.\d{1,2})?$)|(^0\.[1-9]\d?$)|(^0\.0[1-9]$)/,// 两位小数
positive3NumberBlur:/(^([1-9]\d*)(\.\d{1,3})?$)|(^0\.[1-9]\d?$)|(^0\.0[1-9]$)/,// 3位
positive4NumberBlur:/(^([1-9]\d*)(\.\d{1,4})?$)|(^0\.[1-9]\d?$)|(^0\.0[1-9]$)/,四位小数
positive2Decimal: /(^[1-9](\d+)?(\.\d{1,2})?$)|(^\d\.(([1-9]\d?)|(0[1-9]))$)/,//正数(最多两位小数,且不能为0)
二:时间类正则校验
1:24小时时间格式正则:
/^([01]?[\d]|2[0-3]):([0-5]?[\d])$/;
let timeRegex=/^([01]?[\d]|2[0-3]):([0-5]?[\d])$/;
timeRegex.test("00:00") //true
timeRegex.test("24:00") //true
timeRegex.test("25:00") //fasle
2:12小时时间格式正则:
/^([1][0-2]|[0][1-9]):[0-5][0-9]$/
let timeRegex=/^([1][0-2]|[0][1-9]):[0-5][0-9]$/
timeRegex.test('01:59')//true
timeRegex.test('01:65')//false
timeRegex.test('12:00')//true
timeRegex.test('13:00')//false
timeRegex.test('23:00')//false
三:字符类型的校验
1:数字和字母组成
var testReg1=/^[a-zA-Z0-9]*$/
testReg1.test('ssas')//
2:密码校验(数字,字母,特殊字符)(8-15位)
/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,15}$/
3:字符中没有空格
/^[^\s]*$/
4:都是汉字
var testReg=/^[\u4e00-\u9fa5]{0,}$/
testReg.test('sss') //false
testReg.test('你说啥')//true
5:邮箱正则
testReg= /^\b[\w.%+-]+@[\w.-]+\.[a-zA-Z]{2,6}\b$/
testReg.test('[email protected]') //false
testReg.test('[email protected]')//true
6:匹配所有的白字符
testReg= /^[ \f\r\t\n]$/
7:长度为3-20的所有字符
testReg=/^.{3,20}$/
testReg.test('ddfs3')//true
testReg1.test('&ddd')//true
testReg1.test('&')//false
testReg1.test('4')//false
8:中文、英文、数字但不包括下划线等符号
testReg=/^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$/
9:由数字、26个英文字母或者下划线组成的字符串
testReg=/^\w+$ 或 ^\w{3,20}$/
四:特殊需求表达式
1:Email地址
testReg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/
2:域名
testReg1=/^[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?$/
3:手机号码
testReg1=/^(13[0-9]|14[5|7]|15[0|1|2|3|4|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/
4:国内电话号码
testReg1=/^\d{3}-\d{8}|\d{4}-\d{7}$/
5:中国邮政编码
[1-9]\d{5}(?!\d)