常用正则检测
这是我收集的以及一些修改的常用正则表达式, 实际中用的可能会较多, 放在这里希望大家能用得到:
'use strict';
var reg = {
/*numbers*/
//start with +86|86 13(0-9),15(0|1|2|3|5|6|7|8|9), 18(0|1|2|3|5|6|7|8|9)
phoneNumber: {
reg: /^([+]?86)?(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/,
errorMessage: '请输入正确的手机号码'
},
//start with 3 number(010 to 029), 4 numbers (0310-0999)
telephoneNumber: {
reg: /^(0[12]\d{1}-\d{8})|(0[3-9][1-9]\d{1}-\d{7})$/,
errorMessage: '请输入正确的座机号码'
},
//15 or (18 end with number or x|X)
idNumber: {
reg: /^([0-9]{15}|([0-9]{17}[\dxX]))$/,
errorMessage: '请输入正确的身份证号码'
},
//year-month-day 3000>y>1000 - (01-12)|(1-9) - (01-31)|(1-9)
date: {
reg: /^[12]{1}\d{3}-([1-9]|0[1-9]|1[12])-([1-9]|0[1-9]|[12][0-9]|3[01])$/,
errorMessage: '日期格式不正确, 如:1990-2-2'
},
//date-moth-day space (00-23):(00-59):(00-59)
dateTime: {
reg: /^[12]{1}\d{3}-([1-9]|0[1-9]|1[12])-([1-9]|0[1-9]|[12][0-9]|3[01])\s{1}([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/,
errorMessage: '时间格式不正确, 如:1990-2-2 10:22:22'
},
//example: 5,101,122.01
currency: {
reg: /^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)([.][0-9]{1,2})?$/,
errorMessage: '货币格式不正确, 如:100,122.00'
},
// > 10000
QQ: {
reg: /^[1-9][0-9]{4,}$/,
errorMessage: '您所输入的QQ不存在'
},
// 6 numbers
postalCode: {
reg: /^[1-9]\d{5}$/,
errorMessage: '邮政编码格式不正确'
},
//(0-255).(0-255).(0-255).(0-255)
IP: {
reg: /^([0-9]|[1-9][0-9]|(1\d{2}|2[0-5]{2}))\.([0-9]|[1-9][0-9]|(1\d{2}|2[0-5]{2}))\.([0-9]|[1-9][0-9]|(1\d{2}|2[0-5]{2}))\.([0-9]|[1-9][0- 9]|(1\d{2}|2[0-5]{2}))$/,
errorMessage: 'ip地址格式不正确'
},
/*strings*/
//words .words* @ words .words .words*
email: {
reg: /^\w+(\.\w+)*@\w+(\.\w+)*\.\w+(\.\w+)*$/,
errorMessage: '邮箱地址格式不正确'
},
//
domainName: {
reg: /^[a-zA-Z0-9]([a-zA-Z0-9]|-){0,62}(\.[a-zA-Z0-9]([a-zA-Z0-9]|-){0,62})+\.?$/,
errorMessage: '域名格式不正确'
},
//
url: {
reg: /^http[s]?:\/{2}((\w|-)+\.)+(\w|-)+(\/([\w\.?%&=]|\/|-)*)?$/,
errorMessage: 'url格式不正确'
},
//
chineseName: {
reg: /^[\u4e00-\u9fa5]{2,4}$/,
errorMessage: '中文名只能为2-4个汉字'
}
}
下次我将写一个关于正则的语法检测器的实现, like ( ( 张三.身高 + 李四.身高) * 2 - 王五.身高 ) /2 = 你.身高;
浙公网安备 33010602011771号