各类js验证大全

来源:互联网 发布:js按钮置灰 不可点击 编辑:程序博客网 时间:2024/04/29 07:53
/*$#################################################$*/ 
/* 程序功能:输入验证 */ 
/* 函数名称: */ 
/* function CheckData(valname,val,valimode,limitlen) */ 
/* 功能说明:验证字符串数据 */ 
/* function CheckUserName(val,min,max) */ 
/* 功能说明:验证用户名 */ 
/* function CheckPassWord(val,min,max) */ 
/* 功能说明:验证密码 */ 
/* function IsSame(val1,val2) */ 
/* 验证密码匹配 */ 
/* function CheckEmail(val,mode) */ 
/* 功能说明:验证Email */ 
/* function CheckValHeight(val,min,max,mode) */ 
/* 功能说明:验证用户身高 */ 
/* function CheckValWeight(val,min,max,mode) */ 
/* 功能说明:验证用户体重 */ 
/* function CheckNumber(val,min,max,mode) */ 
/* 功能说明:验证数值 */ 
/* function CheckPositive(val,min,max,mode) */ 
/* 功能说明:验证正数值 */ 
/* function CheckNegative(val,min,max,mode) */ 
/* 功能说明:验证负数值 */ 
/* function CheckFloat(val,min,max,mode) */ 
/* 功能说明:验证浮点数值 */ 
/* function CheckPath(val,mode) */ 
/* 功能说明:验证文件路径 */ 
/* function CheckURL(val,mode) */ 
/* 功能说明:验证URL */ 
/* function CheckChinaIDCard_J(val,mode) */ 
/* 功能说明:验证身份证 */ 
/* function isInteger(sNum) */ 
/* 功能说明:验证整数 */ 
/* function CheckZip(val,slen,mode) */ 
/* 功能说明:验证Zip */ 
/* 输入参数:mode真&假(是否允许为空) */ 
/* val表单(被判断项),va2表单(被判断项) */ 
/* max(最大值),min(最小值) ...... */ 
/* 编写时间: 2003.09.08.2214 */ 
/*$#################################################$*/ 
//验证字符串数据 
function CheckData(valname,val,valimode,limitlen){ 
if( val.value.indexOf("<",0)>0 || val.value.indexOf(">",0)>0){ 
alert(valname+"不能包含<或>字符!。"); 
val.focus(); 
val.select(); 
return false; 

if(valimode==1){ 
if(isblank(val.value)){ 
alert(valname+"不能为空!"); 
val.focus(); 
val.select(); 
return false; 

tmp=new String(val.value) 
if(istoolong(tmp,limitlen)){ 
alert(valname+"不能超过"+limitlen+"个字符!"); 
val.focus(); 
val.select(); 
return false; 


else{ 
tmp=new String(val.value) 
if(istoolong(tmp,limitlen)){ 
alert(valname+"不能超过"+limitlen+"个字符!!"); 
val.focus(); 
val.select(); 
return false; 


return true; 

function isblank(str){ 
var i; 
var len=str.length; 
for(i=0;i<len;++i){ 
if(str.charAt(i)!=" ") 
return false; 

return true; 

function istoolong(str,i){ 
var len=str.length; 
if(i==0) 
return false; 
else{ 
if(len>i) 
return true; 
else 
return false; 


//验证用户名 
function CheckUserName(val,min,max){ 
var len = val.value.length; 
if (len<min || len>max){ 
alert("用户名长度不正确,应为"+min+"-"+max+"个英文字母、数字。"); 
val.focus(); 
val.select(); 
return false; 

for (i=0;i<val.value.length;i++){ 
var ch = val.value.charAt(i); 
if ( (ch<"0" || ch>"9") && (ch<"a" || ch >"z")){ 
alert("用户名必须由小写字母或数字组成。"); 
val.focus(); 
val.select(); 
return false; 


var first =val.value.charAt(0) 
if (first<"a" || ch >"z"){ 
alert("用户名必须由小写字母开头。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证密码 
function CheckPassWord(val,min,max){ 
var len = val.value.length; 
if (len<min || len>max){ 
alert("密码长度不正确,应为"+min+"-"+max+"个英文字母、数字。"); 
val.focus(); 
val.select(); 
return false; 

for (i=0;i<val.value.length;i++){ 
var ch = val.value.charAt(i); 
if ( (ch<"0" || ch>"9") && (ch<"a" || ch >"z")){ 
alert("密码必须由小写字母或数字组成。"); 
val.focus(); 
val.select(); 
return false; 


return true; 

//验证密码匹配 
function IsSame(val1,val2){ 
if (val1.value != val2.value ){ 
alert("两次输入的密码不相同。"); 
val2.focus(); 
val2.select(); 
return false; 

else 
return true; 

//验证Email 
function CheckEmail(val,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

var etext 
var elen 
var i 
var aa 
etext=val.value 
elen=etext.length 
if (elen<5){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 

i= etext.indexOf("@",0) 
if (i==0 || i==-1 || i==elen-1){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 

else{ 
if (etext.indexOf("@",i+1)!=-1){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 


if (etext.indexOf("..",i+1)!=-1){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 

i=etext.indexOf(".",0) 
if (i==0 || i==-1 || etext.charAt(elen-1)=='.'){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 

if ( etext.charAt(0)=='-' || etext.charAt(elen-1)=='-'){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 

if ( etext.charAt(0)=='_' || etext.charAt(elen-1)=='_'){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 

for (i=0;i<=elen-1;i++){ 
aa=etext.charAt(i) 
if (!((aa=='.') || (aa=='@') || (aa=='-') ||(aa=='_') || (aa>='0' && aa<='9') || (aa>='a' && aa<='z') || (aa>='A' && aa<='Z'))){ 
alert("请输入正确的Email。"); 
val.focus(); 
val.select(); 
return false; 


return true; 

//验证用户身高 
function CheckValHeight(val,min,max,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

var len = val.value.length; 
if (len<min || len>max){ 
alert("请输入正确的身高数据。"); 
val.focus(); 
val.select(); 
return false; 

var val2 = val.value; 
for (i=0;i<val2.length;i++){ 
var ch = val2.charAt(i); 
if ( (ch<"0" || ch>"9") ){ 
alert("身高数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 


if (isNaN(val2)){ 
alert("身高数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 

else if (parseInt(val2)<=0){ 
alert("身高数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('0')==0){ 
alert("身高数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证用户体重 
function CheckValWeight(val,min,max,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

var len = val.value.length; 
if (len<min || len>max){ 
alert("请输入正确的体重数据。"); 
val.focus(); 
val.select(); 
return false; 

var val2 = val.value; 
for (i=0;i<val2.length;i++){ 
var ch = val2.charAt(i); 
if ( (ch<"0" || ch>"9") ){ 
alert("体重数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 


if (isNaN(val2)){ 
alert("体重数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 

else if (parseInt(val2)<=0){ 
alert("体重数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('0')==0){ 
alert("体重数据必须由有效数字组成。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证数值 
function CheckNumber(val,min,max,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

var len = val.value.length; 
if (len<min || len>max){ 
alert("请输入正确的数值。"); 
val.focus(); 
val.select(); 
return false; 

var val2 = val.value; 
for (i=1;i<val2.length;i++){ 
var ch = val2.charAt(i); 
if ( (ch<"0" || ch>"9" ) ){ 
alert("请输入正确的数值。"); 
val.focus(); 
val.select(); 
return false; 


if (isNaN(val2)){ 
alert("请输入正确的数值。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('0')==0 && len>1){ 
alert("请输入正确的有效数值。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('-')==0 && val2.indexOf('0')==1){ 
alert("请输入正确的有效数值。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证正数值 
function CheckPositive(val,min,max,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

if(!CheckNumber(val,min,max,mode)){ 
val.focus(); 
val.select(); 
return false; 

if (parseInt(val.value)<=0){ 
alert("数据必须为有效的正整数。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证负数值 
function CheckNegative(val,min,max,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

if(!CheckNumber(val,min,max,mode)){ 
val.focus(); 
val.select(); 
return false; 

if (parseInt(val.value)>=0){ 
alert("数据必须为有效的负整数。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证浮点数值 
function CheckFloat(val,min,max,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

var len = val.value.length; 
if (len<min || len>max){ 
alert("请输入正确的浮点数值。"); 
val.focus(); 
val.select(); 
return false; 

var val2 = val.value; 
for (i=1;i<val2.length;i++){ 
var ch = val2.charAt(i); 
if ( (ch<"0" || ch>"9" ) ){ 
if(ch!="."){ 
alert("请输入正确的浮点数值。"); 
val.focus(); 
val.select(); 
return false; 



if (isNaN(val2)){ 
alert("请输入正确的浮点数值。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('0')==0 && val2.indexOf('.')!=1){ 
alert("请输入正确的有效浮点数值。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('-')==0 && val2.indexOf('0')==1 && val2.indexOf('.')!=2){ 
alert("请输入正确的有效浮点数值。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('-')==0 && val2.indexOf('.')==1){ 
alert("请输入正确的有效浮点数值。"); 
val.focus(); 
val.select(); 
return false; 

else if (val2.indexOf('.')==0){ 
alert("请输入正确的有效浮点数值。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证文件路径 
function CheckPath(val,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

var val2 = val.value; 
if ( val2.indexOf(':\\')>0 ){ 
var isNot=" !@#$^*()'`~|]}[{;.>,<?%&+="; 
if (val2.indexOf('\"')>0){ 
alert("请输入正确的文件路径。"); 
val.focus(); 
val.select(); 
return false; 

else{ 
for (var i = 0;i < val2.length;i++){ 
for (var x = 1 ;x < isNot.length;x++){ 
if (val2.charAt(i)==isNot.charAt(x)){ 
alert("请输入正确的文件路径。"); 
val.focus(); 
val.select(); 
return false; 





else{ 
alert("请输入正确的文件路径。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证URL 
function CheckURL(val,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

var val2 = val.value; 
if ( val2.indexOf('://')>0 ){ 
var isNot=" !@$^*()'`~|]}[{;.>,<"; 
if (val2.indexOf('\"')>0){ 
alert("请输入正确的URL。"); 
val.focus(); 
val.select(); 
return false; 

else{ 
for (var i = 0;i < val2.length;i++){ 
for (var x = 1 ;x < isNot.length;x++){ 
if (val2.charAt(i)==isNot.charAt(x)){ 
alert("请输入正确的URL。"); 
val.focus(); 
val.select(); 
return false; 





else{ 
alert("请输入正确的URL。"); 
val.focus(); 
val.select(); 
return false; 

return true; 

//验证身份证 
function CheckChinaIDCard_J(val,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

sNo = val.value.toString() 
if (!isInteger(sNo)) { 
alert("请输入正确的身份证。"); 
val.focus(); 
val.select(); 
return false 

switch(sNo.length){ 
case 15: if (isValidDate(sNo.substr(6,2),sNo.substr(8,2),sNo.substr(10,2))) { 
return true 

case 17: if (isValidDate(sNo.substr(6,4),sNo.substr(10,2),sNo.substr(12,2))) { 
return true 


alert("请输入正确的身份证。"); 
val.focus(); 
val.select(); 
return false 

function isInteger(sNum) { 
var num 
num=new RegExp('[^0-9_]','') 
if (isNaN(sNum)) { 
return false 

else { 
if (sNum.search(num)>=0) { 
return false 

else { 
return true 



//验证Zip 
function CheckZip(val,slen,mode){ 
if((mode==0) && (val.value=="")){ 
return true; 

if(val.value.length!=slen){ 
alert('请输入正确的邮政编码!!'); 
val.focus(); 
val.select(); 
return false 

var r1 
r1 = new RegExp('[^0-9]',''); 
if ( val.value.search(r1) >= 0 ) { 
alert('请输入正确的邮政编码!!'); 
val.focus(); 
val.select(); 
return false 

else 
return true; 

电话号码的验证 
要求: 
  (1)电话号码由数字、"("、")"和"-"构成 
  (2)电话号码为3到8位 
  (3)如果电话号码中包含有区号,那么区号为三位或四位 
  (4)区号用"("、")"或"-"和其他部分隔开 
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0 
  (6)11位移动电话号码的第一位和第二位为"13" 
  (7)12位移动电话号码的第二位和第三位为"13" 
  根据这几条规则,可以与出以下正则表达式: 
  (^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$) 
<script language="javascript"> 
function PhoneCheck(s) { 
var str=s; 
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/ 
alert(reg.test(str)); 

</script> 
<input type=text name="iphone"> 
<input type=button onclick="PhoneCheck(document.all.iphone.value)" value="Check"> 
0 0
原创粉丝点击