您的位置:首页 > Web前端 > JavaScript

JavaScript通用表单验证函数

2007-07-16 13:47 751 查看

function isEmpty(el)




...{


return ((el == null) || (el.length == 0))


}




function IsURL(url)




...{


if(url == "http://")


return false;




return true;


}






/**//*


function IsEmail(address)


{


if(isEmpty(address))


return false;




if(address.indexOf(" ",0) != -1)


return false;




var atPos = address.indexOf("@",0);


if(atPos == -1)


return false;




var dotPos = address.indexOf(".", atPos+1);


if(dotPos == -1)


return false;




return true;


}


*/






function IsStrNull(string)




...{


if(isEmpty(string))


return true;




var i;


var c;


for(i=0;i<=string.length-1;i++)




...{


c = string.charAt(i);


if(c != ' ')


return false;


}


return true;


}






function IsNumber(s) //数字判断函数




...{


var digits = "0123456789";


var i = 0;


var sLength = s.length;




while((i < sLength))




...{


var c = s.charAt(i);


if(digits.indexOf(c) == -1)


return false;


i++;


}




return true;


}






function IsFloat(s) //数字判断函数




...{


var digits = "0123456789.";


var i = 0;


var sLength = s.length;




while((i < sLength))




...{


var c = s.charAt(i);


if(digits.indexOf(c) == -1)


return false;


i++;


}




return true;


}








function openSmallWindow(url)




...{


window.open(url,"smallWindow","width=500,height=300,scrollbars,resizable");


return false;


}






function Jtrim(str) //去空隔函数




...{


var i = 0;


var len = str.length;


var j = len - 1;


flagbegin = true;


flagend = true;




if(str == "")


return str;




while(flagbegin == true && i < len)




...{


if(str.charAt(i) == " ")




...{


i = i + 1;


flagbegin = true;


}


else




...{


flagbegin = false;


}


}




while(flagend == true && j >= 0)




...{


if(str.charAt(j) == " ")




...{


j = j - 1;


flagend = true;


}


else




...{


flagend = false;


}


}




if(i > j)


return "";




trimstr = str.substring(i, j + 1);




return trimstr;


}




function IsEmail(s)//验证E-MAIL格式函数




...{


if(s.length > 100)




...{


return false;


}




var regu = "^(([0-9a-zA-Z]+)|([0-9a-zA-Z]+[_.0-9a-zA-Z-]*[0-9a-zA-Z]+))@([a-zA-Z0-9-]+[.])+([a-zA-Z]{2}|net|NET|com|COM|gov|GOV|mil|MIL|org|ORG|edu|EDU|int|INT)$";


var re = new RegExp(regu);


if(s.search(re) != -1)


return true;


else


return false;


}






function IsMoney(s)




...{


strRef = "1234567890.";




if(!IsEmpty(s))


return false;




for(i=0; i<s.length; i++)




...{


tempChar = s.substring(i, i+1);


if(strRef.indexOf(tempChar,0) == -1)




...{


return false;


}


else




...{


tempLen = s.indexOf(".");


if(tempLen != -1)




...{


strLen = s.substring(tempLen + 1, s.length);


if(strLen.length > 2)




...{


return false;


}


}


}


}




return true;


}




function IsLeapYear(year) // 判断是不是闰年




...{


if((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))


return true;


else


return false;


}






// 判断日期时间是否正确


function IsDatetime(s)




...{


if(s.length > 0)




...{


datetime = Jtrim(s);


if(datetime.length == 19)




...{


sdate = datetime.substring(0,10);


stime = datetime.substring(11,19);


if(IsDate(sdate) && IsTime(stime))


return true;


else


return false;


}


else


return false;


}




// 空值认为是正确的


return true;


}




//判断日期是否正确




function IsDate(s)...{


var datetime;


var year, month, day;


var gone, gtwo;




if(s.length > 0)




...{


if(s == "0" || s == "0000-00-00")


return true;




datetime = Jtrim(s);


if(datetime.length == 10)




...{


year = datetime.substring(0, 4);


if(isNaN(year) == true)


return false;




gone = datetime.substring(4, 5);


month = datetime.substring(5, 7);


if(isNaN(month) == true)


return false;




gtwo = datetime.substring(7, 8);


day = datetime.substring(8, 10);


if(isNaN(day) == true)


return false;


}




if(((gone == "-") && (gtwo == "-")) || ((gone == "/") && (gtwo == "/")))




...{


if(month < 1 || month > 12)


return false;




if(day<1 || day > 31)


return false;




if(month == 2)




...{


if(IsLeapYear(year) && day > 29)




...{


// 二月份日期必须在01到29之间!


return false;


}


if(!IsLeapYear(year) && day > 28)




...{


// 二月份日期必须在01到28之间!


return false;


}


}




if((month == 4 || month == 6 || month == 9 || month== 11) && (day > 30))




...{


// 在四,六,九,十一月份 日期必须在01到30之间!


return false;


}


}


else




...{


return false;


}


}




return true;


}




// 判断时间是否正确




function IsTime(s)...{


var datetime;


var year, month, day;


var gone, gtwo;




if(s > 0)




...{


datetime = Jtrim(s);


if(datetime.length == 8)




...{


hour = datetime.substring(0, 2);


if(isNaN(hour) == true)


return false;




gone = datetime.substring(2, 3);


minute = datetime.substring(3, 5);


if(isNaN(minute) == true)


return false;




gtwo = datetime.substring(5, 6);


second = datetime.substring(6, 8);


if(isNaN(second) == true)


return false;


}




if((gone == ":") && (gtwo == ":"))




...{


if(hour < 0 || hour > 24)


return false;




if(minute < 0 || minute > 59)


return false;




if(second < 0 || second > 59)


return false;


}


else




...{


return false;


}


}




return true;


}






function go(myform)




...{


var count=0;


for(i=0; i<myform.elements.length; i++)




...{


if(myform.elements[i].type == "text")




...{


//alert(myform.elements[i].title);


//alert(myform.elements[i].type);




if(myform.elements[i].isnull == "no")




...{


if(IsStrNull(myform.elements[i].value))




...{


alert("请输入" + myform.elements[i].title + "!");


myform.elements[i].focus();


return false;


}


}




if(myform.elements[i].datatype == "char" && myform.elements[i].isemail == "yes")




...{


if(!IsEmail(myform.elements[i].value))




...{


alert("请输入正确的邮件地址!");


myform.elements[i].select();


return false;


}


}


else if(myform.elements[i].datatype == "number")




...{


if(!IsNumber(myform.elements[i].value))




...{


alert("请输入正确的数字!");


myform.elements[i].select();


return false;


}


}


else if(myform.elements[i].datatype == "date")




...{


if(!IsDate(myform.elements[i].value))




...{


alert("请输入正确的日期!");


myform.elements[i].select();


return false;


}


}


else if(myform.elements[i].datatype == "time")




...{


if(!IsTime(myform.elements[i].value))




...{


alert("请输入正确的时间!");


myform.elements[i].select();


return false;


}


}


else if(myform.elements[i].datatype == "datetime")




...{


if(!IsDatetime(myform.elements[i].value))




...{


alert("请输入正确的日期时间!");


myform.elements[i].select();


return false;


}


}


}


else if(myform.elements[i].type == "password")




...{


if(IsStrNull(myform.elements[i].value))




...{


if(confirm("密码为空不会被修改,需要继续吗?") == false)




...{


alert("请输入" + myform.elements[i].title);


myform.elements[i].focus();


return false;


}


}


}


else if(myform.elements[i].type == "textarea")




...{


if(IsStrNull(myform.elements[i].value))




...{


alert("请输入" + myform.elements[i].title);


myform.elements[i].focus();


return false;


}




if(myform.elements[i].value.length > myform.elements[i].datalength)




...{


alert("你输入的" + myform.elements[i].title + "长度超过了限制");


myform.elements[i].select();


return false;


}


}


}






return true;


}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: