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

常用JS表单验证

2009-09-29 17:13 375 查看
项目中会经常使用的一些表单验证信息,包含空字符及空格验证,验证非法字符,是否数字验证。

//表单验证检查空格
function chkspace(str){
if(str.length==0){
return true;
}
else{
var strs = ”;
for(i = 0; i < str.length; i++) {
strs = strs + ‘ ‘;
}
return (str==strs);
}
}
//表单验证检查非法字符
function chkfilter(str){
if(str.search(”^[^/'`~/$/^/"]+$”)==-1){
return true;
}
return false;
}
//表单验证检查数字
function chknumber(str){
if(str.search(”^[^0-9]+$”)>=0){
return true;
}
return false;
}

//检查邮件的合法性,Str:待检查字符,FS_Alert:错误信息显示容器
function checkMail(str,FS_Alert)
{
var msg=”";
var strr;
try{
var mail=document.getElementById(str).value;
if(mail==”")
{
msg=”";
}else{
re=/(/w+@/w+/./w+)(/.{0,1}/w*)(/.{0,1}/w*)/i;
re.exec(mail);
if (RegExp.$3!=”"&&RegExp.$3!=”.”&&RegExp.$2!=”.”) strr=RegExp.$1+RegExp.$2+RegExp.$3
else
if (RegExp.$2!=”"&&RegExp.$2!=”.”) strr=RegExp.$1+RegExp.$2
else strr=RegExp.$1
if (strr!=mail)
{
msg=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请填写正确的邮件地址</span>”;
}
}
if (FS_Alert!=”"){
if (msg==”"){
document.getElementById(FS_Alert).innerHTML=”";
return true;
}else{
document.getElementById(FS_Alert).innerHTML=msg;
return false;
}
}
else{
if (msg==”"){
return true;
}else{
return false;
}
}
}
catch(e){
return false;
}

}

//检查日期的合法性,字段说明同上

function valiateDate(str,FS_Alert)
{
var valobj=document.getElementById(str);
var dar=valobj.value.replace(”.”,”-”)
if(dar==”")
{
document.getElementById(FS_Alert).innerHTML=”";
return true;
}
if (dar==”") return;
if(dar.split(”-”)[0].length==2)
{
var Current_Date = new Date();
var Current_year = Current_Date.getYear();
dar=Current_year.toString().substr(0,2)+dar
}
var datePat = /^(/d{4})(-)(/d{1,2})(-)(/d{1,2})$/;

var matchArray = dar.match(datePat); // is the format ok?
if (matchArray == null)
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请参照格式:年年年年-月月-日日!</span>”;
return false;
}
month = matchArray[3]; // parse date into variables
day = matchArray[5];
year = matchArray[1];
if (month < 1 || month > 12)
{ // check month range
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>月份超界!</span>”;
return false;
}
if (day < 1 || day > 31)
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>日期超界!</span>”;
return false;
}
if ((month==4 || month==6 || month==9 || month==11) && day==31)
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>”+month+”月没有31日!</span>”;
return false;
}
if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day>29)
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>2月不能超过29日!</span>”;
return false;
}
if (day==29 && !isleap)
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>”+year + “年不是闰年,2月没有29日!</span>”;
return false;
}
}
document.getElementById(FS_Alert).innerHTML=”"
return true;
}

//检查字符是否为数字,Str:待检查字符;FS_Alert:错误信息显示容器;isInteger:是否为整数
function isNumber(Str,FS_Alert,Msg,isInteger)
{
var Obj=document.getElementById(Str)
if(Obj.value==”)
{
document.getElementById(FS_Alert).innerHTML=”"
return true;
}
else if(isNaN(Obj.value)||Obj.value<0)
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>”+Msg+”</span>”;
return false;
}
else if(!isNaN(Obj.value)&&Obj.value>=0)
{
if(isInteger)
{
if(Obj.value.indexOf(”.”)>=0)//是否为整数
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请使用整数</span>”;
return false;
}else
{
document.getElementById(FS_Alert).innerHTML=”"
return true;
}
}
else
{
document.getElementById(FS_Alert).innerHTML=”"
return true;
}
}
}

//检查字符是否为空,Str:待检查字符;FS_Alert:错误信息显示容器
function isEmpty(Str,FS_Alert)
{
var Obj=document.getElementById(Str);
var value=Obj.value.replace(/(^/s*)|(/s*$)/g, “”);
if(value==”")
{

document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>数据不能为空</span>”;
return false;
}else
{
var Str_Len = “”;
var Len_Color = “”;
Str_Len = value.length;
if (Str_Len <= 50)
{
Len_Color = “006600″;
}
else if (Str_Len > 50 && Str_Len <= 100)
{
Len_Color = “3300FF”;
}
else if (Str_Len > 100)
{
Len_Color = “FF0000″;
}
document.getElementById(FS_Alert).innerHTML=”<span class=’tx’>字数:<font style=/”color:#” + Len_Color + “;font-weight:bold;/”>” + Str_Len + “</font></span>”;
return true;
}
}
//检查字符是否为中文,Str:待检查字符;FS_Alert:错误信息显示容器

function isChinese(Str,FS_Alert)
{
var Number = “0123456789.,abcdefghijklmnopqrstuvwxyz-//ABCDEFGHIJKLMNOPQRSTUVWXYZ`~!@#$%^&*()_”;
var Obj=document.getElementById(Str);
for (i = 0; i < Obj.value.length;i++)
{
var c = Obj.value.charAt(i);
if (Number.indexOf(c) == -1)
{
document.getElementById(FS_Alert).innerHTML=”<font style=/”font-family:Webdings;color:red/”>x</font><span class=’tx’>请不要使用中文字符</span>”;
return false;
}
}
document.getElementById(FS_Alert).innerHTML=”";
return true
}

以下是一些常用的JS正则:

Email : /^/w+([-+.]/w+)*@/w+([-.]//w+)*/./w+([-.]/w+)*$/,
Phone : /^((/(/d{3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(-[0-9]/d{2}){0,1}$/,
Mobile : /^((/(/d{3}/))|(/d{3}/-))?13/d{9}$/,
Url : /^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/’:+!]*([^<>/"/"])*$/,
//Url : /^http:////[A-Za-z0-9-]+/.[A-Za-z0-9-]+[//=/./?%/-&_~`@[/]/’:+!]*([^<>/"/"])*$/,
IdCard : /^/d{15}(/d{2}[A-Za-z0-9])?$/,
Currency : /^/d+(/./d+)?$/,
Number : /^/d+$/,
Zip : /^[1-9]/d{5}$/,
QQ : /^[1-9]/d{4,8}$/,
Integer : /^[-/+]?/d+$/,
Double : /^[-/+]?/d+(/./d+)?$/,
English : /^[A-Za-z]+$/,
Chinese : /^[/u0391-/uFFE5]+$/,
UnSafe : /^(([A-Z]*|[a-z]*|/d*|[-_/~!@#/$%/^&/*/./(/)/[/]/{/}<>/?/////’/”]*)|.{0,5})$|/s/,
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: