日期:2014-05-16  浏览次数:20400 次

JS 正则表达式应用

原文地址:http://www.open-open.com/lib/view/open1340699989249.html

?

/* 
判断指定的内容是否为空,若为空则弹出 警告框 
*/ 
function isEmpty(theValue, strMsg){ 
if(theValue==""){ 
alert(strMsg+"不能为空!"); 
return true; 
} 
return false; 
} 
/*
 * 中文判断函数,允许生僻字用英文“*”代替 返回true表示是符合条件,返回false表示不符合
 */ 
function isChinese(str){ 
var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
badChar += "abcdefghijklmnopqrstuvwxyz"; 
badChar += "0123456789"; 
badChar += " "+" ";// 半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\|:;\"\\'<,>?/";// 不包含*或.的英文符号
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i);// 字符串str中的字符
if(badChar.indexOf(c) > -1){ 
return false; 
} 
} 
return true; 
} 
/*
 * 数字判断函数,返回true表示是全部数字,返回false表示不全部是数字
 */ 
function isNumber(str){ 
if(""==str){ 
return false; 
} 
var reg = /\D/; 
return str.match(reg)==null; 
}

/*
 * 判断给定的字符串是否为指定长度的数字 是返回true,不是返回false
 */ 
function isNumber_Ex(str,len){ 
if(""==str){ 
return false; 
}

if(str.length!=len){ 
return false; 
}

if(!isNumber(str)){ 
return false; 
} 
return true; 
}

/*
 * money判断函数,允许第一位为"-"来表示欠钱 返回true表示格式正确,返回false表示格式错误
 */ 
function isMoney(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
if(i==0){ 
if(c!="-"&&(c<"0"||c>"9")){ 
return false; 
}else if(c=="-"&&str.length==1){ 
return false; 
} 
}else if(c < "0" || c > "9"){ 
return false; 
} 
} 
return true; 
} 
/*
 * 英文判断函数,返回true表示是全部英文,返回false表示不全部是英文
 */ 
function isLetter(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
if((c<"a"||c>"z")&&(c<"A"||c>"Z")){ 
return false; 
} 
} 
return true; 
} 
/*
 * 空格判断,当包含有空格返回false,当不包含一个空格返回true ""不能被判断
 */ 
function notInSpace(str){ 
if(""==str){ 
return false; 
} 
var badChar =" "; 
badChar += " "; 
for(var i=0;i var c = str.charAt(i);// 字符串str中的字符
if(badChar.indexOf(c) > -1){ 
return false; 
} 
} 
return true; 
} 
/*
 * 发票号判断函数,返回true表示是发票号,返回false表示不符合规范
 */ 
function isFPH(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
if((c < "0" || c > "9") && (c!="-")&&(c!=",")){ 
return false; 
} 
} 
return true; 
} 
/*
 * 电话判断函数,允许“数字”、“;”、“-”、“(”、”)“, true表示是电话号码
 */ 
function isTelephone(str){ 
var trueChar = "()-;1234567890"; 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i);// 字符串str中的字符
if(trueChar.indexOf(c) == -1) return false; 
} 
return true; 
} 
/**
 * 学制可以为1-7,也可以为3.5这种形式,不能超过7年或者低于1年
 */ 
function isXZ(str){ 
if(""==str){ 
return false; 
} 
var reg = /^[1-6](\.5)?$/; 
var r = str.match(reg); 
if(null!=r){ 
return true; 
}else{ 
if(str=="7"){ 
return true; 
}else{ 
return false; 
} 
} 
}

/*
 * 判断证书编号是否符合要求,证书编号包含中文、数字、大小写字母、(、)、- 是返回true,不是返回false
 */ 
function isZSBH(str){ 
if(""==str){ 
return false; 
} 
for(var i=0;i var c = str.charAt(i); 
alpha = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
alpha += "abcdefghijklmnopqrstuvwxyz"; 
alpha += "()-"; 
if(!isChinese(c)&&!isNumber(c)&&alpha.indexOf(c)==-1){ 
return false; 
} 
} 
return true; 
}

/*
 * 身份证判断函数,是返回true,不是返回false 15位数字,18位数字或者最后一位为X(大写)
 */ 
function isSFZ(str){ 
if(""==str){ 
return false; 
} 
if(str.length!=15&&str.length!=18){// 身份证长度不正确
return false; 
} 
if(str.length==15){ 
if(!isNumber(str)){ 
return false; 
} 
}else{ 
str1 = str.substring(0,17); 
str2 = str.substring(17,18); 
alpha = "X0123456789"; 
if(!isNumber(str1)||alpha.indexOf(str2)==-1){ 
return false; 
} 
} 
return true; 
} 
/*
 * 得到今天的年,月,日 调用方法:today = new getToday(); 则today.year为今天的年以此类推
 */ 
function getToday(){ 
this.now = new Date(); 
this.year = this.now.getFullYear(); 
this.month = this.now.getMonth(); 
this.day = this.now.getDate(); 
}


js判断数字,字母,中文 
1.

var reg = /^(\w|[\u4E00-\u9FA5])*$/; 
if(arr=username.match(reg)) 
{ 
ti=1; 
return ture; 
} 
else 
{ 
alert("用户名只允许为英文,数字和汉字的混合,\n请检查是否前后有空格或者其他符号"); 
ti=0; 
return false; 
}

2.利用正则表达式限制网页表单里的文本框输入内容:

用正则表达式限制只能输入中文:onkeyup="value=value.replace(/[^