JS常用正则表达式整理
常用正则整理:
1、验证以字母开头,长度在6~18之间,只能包含字符、数字和下划线的密码:"^[a-zA-Z]\w{5,17}$"
2、验证电话号码:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正确格式为:"xxxx-xxxxxxx"、"xxxx-xxxxxxxx"、"xxx-xxxxxxx"、"xxx-xxxxxxxx"、"xxxxxxx"和"xxxxxxxx"。
3、验证国内电话号码:"^(\d{3}-\d{8})|\d{4}-\d{7}$",形式如 xxxx-xxxxxxx 或 xxx-xxxxxxx
4、验证手机号:"^((\(\d{3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}$"
5、验证身份证号(15位或18位):"^\d{15}(\d{2}[A-Za-z0-9])?$"
6、验证Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
7-1、只能由26个英文字母组成:"^[A-Za-z]+$"
7-2、只能由26个大写英文字母组成:"^[A-Z]+$"
7-3、只能由26个小写英文字母组成:"^[a-z]+$"
7-4、只能由数字和26个英文字母组成:"^[A-Za-z0-9]+$"
7-5、只能由数字、26个英文字母或者下划线组成的字符串:"^\w+$"
8、整数或者小数:"^[0-9]+([.][0-9]+){0,1}$"
9-1、只能数字:"^[0-9]*$"
9-2、n位的数字:"^\d{n}$"
9-3、至少n位的数字:"^\d{n,}$"
9-4、m~n位的数字:"^\d{m,n}$"
9-5、零和非零开头的数字:"^(0|[1-9][0-9]*)$"
9-6、有两位小数的正实数:"^[0-9]+(\.[0-9]{2})?$"
9-7、有1~3位小数的正实数:"^[0-9]+(\.[0-9]{1,3})?$"
9-8、非零的正整数:"^\+?[1-9][0-9]*$"
9-9、非零的负整数:"^\-[1-9][0-9]*$"
10、长度为8的字符:"^.{8}$"
11、验证是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"
12、只能输入汉字:"^[\u4e00-\u9fa5]{0,}$"
13、双字节字符(包括汉字在内):"^\x00-\xff*$";
14、验证http://类型的URL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"
15、验证一年的12个月:"^(0?[1-9]|1[0-2])$"正确格式为:"01"~"09"和"1"~"12"
16、验证一个月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正确格式为;"01"~"09"、"10"~"29"和"30"~"31"
17、获取日期:"^\\d{4}[年|\-|\.]\d{\1-\12}[月|\-|\.]\d{\1-\31}日?$"
18、匹配空行:"\n[\s| ]*\r"
19、匹配html标签:"<(.*)>(.*)<\/(.*)>|<(.*)\/>"
20、匹配首尾空白字符:"^\s*|\s*$"
21、匹配腾讯QQ号:"^[1-9][0-9]{4,}$"
22、匹配中国邮政编码:"^[1-9]\\d{5}(?!\d)$"
23、匹配ip地址:"^([1-9]{1,3}\.){3}[1-9]$"
24、匹配MAC地址:"^([A-Fa-f0-9]{2}\:){5}[A-Fa-f0-9]$"
25、验证年龄:"^(1[0-2]\d|\d{1,2})$"
26、验证货币值:"^\d+\.\d{2}$"
扩展:
1、利用正则表达式限制文本框输入内容:
只能输入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"
只能输入全角字符: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"
只能输入数字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
只能输入数字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"
2、整理的一些函数
1)判断日期类型是否为YYYY-MM-DD类型
function IsDate(str){
if(str.length!=0){
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
var r = str.match(reg);
if(r==null){
return true;
}else{
return false;
}
}else{
return false;
}
}
2)判断日期类型是否为YYYY-MM-DD hh:mm:ss类型
function IsDateTime(str){
if(str.length!=0){
var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
var r = str.match(reg);
if(r==null){
return true;
}else{
return false;
}
}else{
return false;
}
}
3)判断日期类型是否为hh:mm:ss类型
function IsTime(str){
if(str.length!=0){
reg=/^((20|21|22|23|[0-1]\d)\:[0-5][0-9])(\:[0-5][0-9])?$/
if(!reg.test(str){
return false;
}else{
return true;
}
}else{
return false;
}
}
4)判断字符是否为英文字母
function IsLetter(str){
if(str.length!=0){
reg=/^[a-zA-Z]+$/;
if(!reg.test(str)){
return false;
}else{
return true;
}
}else{
return false;
}
}
5)判断字符是否为整数
function IsInteger(str){
if(str.length!=0){
reg=/^[-+]?\d*$/;
if(!reg.test(str)){
return false;
}else{
return true;
}
}else{
return false;
}
}
6)判断字符是否为数字或大小写字母
function IsString(str){
&nb
有 0 位网友评论: