📄 formcheck.js
字号:
<!--
//表单检验函数库包含如下函数
//IsPhone("Form名称","Text名称")
//如果字符串不是合法的电话号码格式返回 False
//注意:默认允许为空,如不允许为空需先用IsEmpty检查
//检测方法
//1.长度大于5位
//2.只能有数字与 “-”且“-”不能相邻
//IsEmail("Form名称","Text名称")
//如果字符串不是合法的E-mail地址返回False
//检测方法
//用正则表达式
//注意:默认允许为空,如不允许为空需先用IsEmpty检查
//1.必须有 "@" 和 "." 必须以数字字母开头结尾
//2."@"前边最多有一个 ".","@"后边至少有一个"."
//3."."不能相连,"@"后边不能紧跟"."
//CheckBox_List("form名称","checkbox名称")
//返回表单中被选中的checkbox的个数
//注意:要检查的checkbox必须同名
//LengthOf("Form名称","Text名称")
//返回该表单中的TEXT的值的长度
//IsEmpty("Form名称","Text名称")
//如果该表单中的TEXT的值为空返回true,反之false
//IsSelected("Form名称","Select名称")
//如果该表单中的Select的选项为默认选项返回false
//本函数只适用于Select中有默认选项,且该默认选项为不合法,如日期选项中“天”的第一个选项为“Day”
//Check_String("字符串","合法字符")
//返回是否包含非法字符函数
//IsEmail 和 Check_Valid_String 函数中用到此函数
//Check_Valid_String("Form名称","Text名称","其它合法字符","false[数字不合法]","false[字母不合法]",)
//检查TEXT中是否有非法字符,有非法字符返回false
//后边三个参数为可选项,默认为只有字母数字为合法字符
//例:只有字母与下滑线合法
//if(!Check_Valid_String('formname','textname','_','false'))
// return false;
//IsDate_Select_DMY("Form名称","Select Day 名称","Select Month 名称","Select Year 名称")
//检查选择框选择日,月,年是否合法
//检查方法
//标准日期检查
//注意:选择框中的值必须是"数字", 如“Jan”“first”都不能用此函数检查
//检查下拉框选择的日期是否合法的函数
function IsDate_Select_DMY(form_name,select_day,select_month,select_year)
{
var select_day_name=eval("document."+form_name+"."+select_day);
var select_month_name=eval("document."+form_name+"."+select_month);
var select_year_name=eval("document."+form_name+"."+select_year);
var day=select_day_name.options[select_day_name.selectedIndex].value;
var month=select_month_name.options[select_month_name.selectedIndex].value;
var year=select_year_name.options[select_year_name.selectedIndex].value;
if(isNaN(day)||isNaN(month)||isNaN(year)||day>31||month>12||year<1900||day<=0||month<=0)
return false;
else
{
day=eval(day);
month=eval(month);
year=eval(year);
if(month==4||month==6||month==9||month==11)
{
if(day==31)
return false;
}
else if(month==2)
{
if((year%4==0 && year%100!=0)||year%400==0)
{
if(day>29)
return false;
}
else
{
if(day>28)
return false;
}
}
return true;
}
}
//检查textbox的日期是否合法
function IsDate_Text_DMY(form_name,select_day,select_month,select_year)
{
var select_day_name=eval("document."+form_name+"."+select_day);
var select_month_name=eval("document."+form_name+"."+select_month);
var select_year_name=eval("document."+form_name+"."+select_year);
var day=select_day_name.value;
var month=select_month_name.value;
var year=select_year_name.value;
if(isNaN(day)||isNaN(month)||isNaN(year)||day>31||month>12||year<1900||day<=0||month<=0)
return false;
else
{
day=eval(day);
month=eval(month);
year=eval(year);
if(month==4||month==6||month==9||month==11)
{
if(day==31)
return false;
}
else if(month==2)
{
if((year%4==0 && year%100!=0)||year%400==0)
{
if(day>29)
return false;
}
else
{
if(day>28)
return false;
}
}
return true;
}
}
function IsDate_Text(form_name,select_date)
{
var Str_select_date=eval("document."+form_name+"."+select_date);
var str=Str_select_date.value;
if(str=="")
return false;
if(str.length!=10)
return false;
if(str.indexOf('/')<=0 || str.indexOf('/')>=(str.length-1))
return false;
if(str.charAt(2)!='/' || str.charAt(5)!='/')
return false;
var day=str.substr(3,2);
var month=str.substr(0,2);
var year=str.substr(6,4);
if(isNaN(day)||isNaN(month)||isNaN(year)||day>31||month>12||year<1900||day<=0||month<=0)
return false;
else
{
day=eval(day);
month=eval(month);
year=eval(year);
if(month==4||month==6||month==9||month==11)
{
if(day==31)
return false;
}
else if(month==2)
{
if((year%4==0 && year%100!=0)||year%400==0)
{
if(day>29)
return false;
}
else
{
if(day>28)
return false;
}
}
return true;
}
}
//返回文本框中的值是否为合法电子邮件地址的函数
function IsEmail(form_name,text_name)
{
var the_form=eval("document."+form_name+"."+text_name);
var str=the_form.value;
if(str=="")
return true
if(str.indexOf('@')<=0 || str.indexOf('@')>=(str.length-1))
return false;
if(str.indexOf('.')<=0 || str.charAt(str.length-1)=='.' || str.charAt(str.length-2)=='.')
return false;
if(str.length<6)
return false;
if(Check_String(str)==false)
return false;
var flag1=0;
var flag2=0;
for(i=0;i<str.length;i++)
{
if(str.charAt(i)=='.' && flag1==1)
return false;
if(str.charAt(i)=='@' || str.charAt(i)=='.')
flag1=1;
else
flag1=0;
if(str.charAt(i)=='@')
flag2++;
}
if(flag2!=1)
return false;
return true;
}
//返回文本框中是否有非法字符的函数
function Check_Valid_String(form_name,text_name,other_valid_char,num_valid,char_valid)
{
var the_form=eval("document."+form_name+"."+text_name);
var str=the_form.value;
if(str=="")
return false;
var valid_char="";
if(num_valid!="false")
valid_char+="0123456789";
if(char_valid!="false")
valid_char+="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
if(other_valid_char)
valid_char+=other_valid_char;
if(Check_String(str,valid_char))
return true;
else
return false;
}
//返回是否为非法字符函数
function Check_String(str,valid_char){
if(!valid_char)
var valid_char="0123456789abcdefghijklmnopqrstuvwxyz.@_-ABCDEFGHIJKLMNOPQRSTUVWXYZ";
for(i=0;i<str.length;i++)
{
if(valid_char.indexOf(str.charAt(i))==-1)
return false;
}
return true;
}
//返回文本框中的值是否为电话号码的函数
function IsPhone(form_name,text_name)
{
var the_form=eval("document."+form_name+"."+text_name);
var str=the_form.value;
if(str=="")
return true
if(str.length<5)
return false;
if(str.indexOf('.')!=-1)
return false;
var arrphone=str.split('-');
for(i=0;i<arrphone.length;i++)
{
if(arrphone[i]=="")
return false;
if(isNaN(arrphone[i]))
return false;
}
return true;
}
//返回表单中特定名称的checkbox的选中个数的函数
function CheckBox_List(the_form_name,checkbox_name)
{
var count=0
var the_form=eval("document."+the_form_name);
for(i=0;i<the_form.elements.length;i++)
{
if(the_form.elements[i].type=='checkbox'&& the_form.elements[i].name==checkbox_name && the_form.elements[i].checked==true)
{
count++;
}
}
return count;
}
//返回文本框值的长度函数
function LengthOf(form_name,text_name)
{
var the_text=eval("document."+form_name+"."+text_name);
return the_text.value.length;
}
//检查是否为空函数
function IsEmpty(form_name,text_name)
{
var the_text=eval("document."+form_name+"."+text_name);
if(TrimRL(the_text.value)=="")
return true;
else
return false;
}
//检查选择框是否已选函数
function IsSelected(form_name,select_name)
{
var the_select=eval("document."+form_name+"."+select_name);
if(the_select.options[0].selected==true)
return false;
else
return true;
}
//去掉前后的空格符
function Trim(arg)
{
var length=arg.length;
for(i=0;i<length;i++){
if(arg==''){
return arg;
break;
}
if(arg.charAt(0)==" ")
arg=arg.substr(1,arg.length-1);
if(arg==''){
return arg;
break;
}
if(arg.charAt(arg.length-1)==" ")
arg=arg.substr(0,arg.length-1);
}
return arg;
}
function TrimRL(arg)
{
var arg_length=arg.length;
for(i=0;i<arg_length;i++)
{
if(arg=='')return arg;
if(arg.charAt(0)==" ")
arg=arg.substr(1,arg.length-1);
if(arg=='')return arg;
if(arg.charAt(arg.length-1)==" ")
arg=arg.substr(0,arg.length-2);
}
return arg;
}
function notoffer()
{
alert("试用版暂不提供此功能!") ;
return false;
}
//-->