一个通用的javascript验证的函数类
2009-12-04 23:47
281 查看
/**
* <p>Title: </p>
* <p>Description:Javascript公用函数库</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: szkingdom </p>
* @author 陈剑英
* @version 1.0
*/
/**
*@一个通用的javascript验证的函数类
*@同过它的一个对象可以访问该类定义的所有方法
*/
function valid(thisform)
{
this.form = thisform;
this.isnull = isnull;
this.chkemail = chkemail;
this.length_less = length_less;
this.length_more=length_more;
this.isnumber = isnumber;
this.checkselect = checkselect;
this.del = del;
this.disObj = disObj;
this.waitObj = waitObj;
this.isPhone = isPhone;
this.isMobile = isMobile;
this.isAddress = isAddress;
this.CheckMonth = CheckMonth;
this.onlyCN = onlyCN;
this.onlyNum = onlyNum;
this.compare = compare;
this.CheckDate = CheckDate;
this.currencyFormat = currencyFormat;
this.isIP = isIP;
this.compareIP = compareIP;
}
/**
*@验证一个指定的元素不能为空
*@obj 组件对象名
*@lable 组件中文标示
*@disFocus 是否禁用焦点(该参数可以不提供) 为true则不应用焦点
*/
function isnull(obj,lable,disFocus)
{
if (trim(this.form[obj].value)== "")
{
alert(lable+"不能为空!");
if(disFocus != true)
this.form[obj].focus();
return true
}
else
return false
}
/**
*@验证一个指定的元素的长度不能小于指定的一个长度len
*@
*/
function length_less(obj,lable,len)
{
if(this.form[obj].value == "")
return false;
else if(this.form[obj].value.length < len)
{
alert(lable+"的长度不能小于"+len);
this.form[obj].focus();
return true
}
else
return false
}
/**
*@验证一个指定的元素的长度不能大于指定的一个长度len
*@
*/
function length_more(obj,lable,len)
{
if(this.form[obj].value == "")
return false;
else if(this.form[obj].value.length > len)
{
alert(lable+"的长度不能大于"+len);
this.form[obj].focus();
return true
}
else
return false
}
/**
*@ 验证一个指定的元素必须是数字
*@
*/
function isnumber(obj,lable)
{
if(isNaN(this.form[obj].value))
{
alert(lable+"的值必须为数字! ");
this.form[obj].focus();
return true
}
else
return false
}
/**
*@ 验证一个电子邮件的合法性
*@
*/
function chkemail(obj)
{
var checkStr = this.form[obj].value;
var allValid1 = false;
var allValid2 = false;
if (this.form[obj].value.length > 0)
{
if (this.form[obj].value.length > 50)
{
alert("请输入正确的电子信箱,如www@kingdon.com.cn!");
this.form[obj].focus();
return (true);
}
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
if (ch == '@')
{
allValid1 = true;
break;
}
}
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
if (ch == '.')
{
allValid2 = true;
break;
}
}
if (!allValid1)
{
alert("请输入正确的电子信箱,如www@kingdon.com.cn!");
this.form[obj].focus();
return (true);
}
if (!allValid2)
{
alert("请输入正确的电子信箱,如www@kingdon.com.cn!");
this.form[obj].focus();
return (true);
}
}
return false
}
/**
*@ 验证一个下拉表是否选择
*@
*/
function checkselect(obj,lable)//验证
{
if(this.form[obj].selectedIndex == 0)
{
alert("请选择"+lable);
this.form[obj].focus();
return true
}
}
/**
*@ 确认删除
*@
*/
function del()
{
if (confirm("您真的要删除吗?"))
{
return(true);
}
else
{
return(false);
}
}
/**
*@ 确认取消
*@
*/
function cancel()
{
if (confirm("您真的要取消吗?"))
{
return(true);
}
else
{
return(false);
}
}
/**
*@ 设置list值-- 通用
*@ 根据list的value值设置对应的选项
*/
function set_list(thisform,listname,lx)
{
for(var i=0; i < thisform[listname].options.length; i++)
{
if (lx == thisform[listname].options[i].value)
{
thisform[listname].options[i].selected = true
}
}
}
//以下为重构时扩充的函数
/**
* 使用disable禁止组件
* @param n
* @return
*/
function disObj(obj)
{
this.form[obj].disabled = true;
}
/**
* 设置鼠标等待
* @param n
* @return
*/
function waitObj(obj)
{
this.form[obj].style.cursor = "wait";
}
/**
* 验证小灵通、座机电话和传真
* @param n
* @return
*/
function isPhone(obj,lable)
{
if(this.form[obj].value == "")
return false;
var v=this.form[obj].value;
if(v.search(/^(0[0-9]{2,3}-)?[0-9]{7,10}$/) == -1)
{
alert("不是有效的"+lable+"! 输入格式为:028-85210088");
this.form[obj].focus();
return true;
}else
{
return false;
}
}
/**
* 验证手机(不分联通和移动)
* @param n
* @return
*/
function isMobile(obj,lable)
{
if(this.form[obj].value == "")
return false;
var v=this.form[obj].value;
if(v.search(/^13[0-9]{7,10}$/) == -1)
{
alert("不是有效的"+lable);
this.form[obj].focus();
return true;
}else
{
return false;
}
}
/**
* 验证网址格式
* @param n
* @return
*/
function isAddress(obj,lable)
{
if(this.form[obj].value == "")
return false;
var v=this.form[obj].value;
if(v.search(/^(http:////)?({2,3}$/]www.)?(/w+(-/w+)*/.){1,2}[A-Za-z]{2,3}$/) == -1)
{
alert("不是有效的"+lable+" 输入格式为:www.sina.com.cn");
this.form[obj].focus();
return true;
}else
{
return false;
}
}
/**
* 只能输入汉字,用在onkeyup事件中
* @param n
*/
function onlyCN(obj)
{
var v = this.form[obj].value;
this.form[obj].value = v.replace(/[^/u4E00-/u9FA5]/g,'');
}
/**
* 只能输入数字(包括大键盘,小键盘,Tab键,回退键,左右键,回车键)用在onkeydown事件中
* @param
* @return
*/
function onlyNum(){
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)
||event.keyCode==9||event.keyCode==8||event.keyCode==37||event.keyCode==39||event.keyCode==13)){
alert("只能输入数字!");
event.returnValue=false;
}
}
/**
* 只能输入数字(包括大键盘,小键盘,Tab键,回退键,左右键,回车键,逗号)用在onkeydown事件中
* @param
* @return
*/
function onlyKey(){
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)
||event.keyCode==9||event.keyCode==8||event.keyCode==37||event.keyCode==39||event.keyCode==13)){
alert("只能输入数字!");
event.returnValue=false;
}
}
/**
* 用于年月的验证
* @param n
*/
function CheckMonth(obj)
{
if(this.form[obj].value == "")
return false;
var strDate=this.form[obj].value;
var intYear;
var intMonth;
var intDay;
if(strDate.length!=6)
{
alert("输入长度不正确,应是六位!");
this.form[obj].focus();
return true;
}
intYear = parseInt(strDate.substring(0,4),10);
intMonth = parseInt(strDate.substring(4,6),10);
if(isNaN(intYear)||isNaN(intMonth))
{
alert("输入的不是数字格式!");
this.form[obj].focus();
return true;
}
if(intMonth>12||intMonth<1)
{
alert("月份输入错误!");
this.form[obj].focus();
return true;
}
return false;
}
/**
* 去除字符串的前后空格
* @param str
* @return
*/
function trim(str)
{
var pos = str.length,arrays,result;
//str=new String();
/******去除字符串的前空格******/
arrays = str.split("");
for (var i = 0; i <= str.length-1; i++)
{
if(arrays[i] != " ")
{
pos = i;
break;
}
}
result=str.substring(pos,str.length);
/******去除字符串的后空格******/
arrays=result.split("");
for(var j = result.length-1; j >= 0; j--)
{
if(arrays[j] != " ")
{
pos = j;
break;
}
}
result = result.substring(0,pos+1);
return result;
}
/**
* 比较起始日期和终止日期的大小
* @param begin,end
* @return
*/
function compare(begin,end)
{
if((this.form[begin].value == "")||(this.form[end].value == ""))
return false;
var s1=this.form[begin].value;
var s2=this.form[end].value;
var intS1 = parseInt(s1);
var intS2 = parseInt(s2);
if(intS1>intS2)
{
alert("日期选择的起始不符!");
this.form[end].focus();
return true;
}
else
{
return false;
}
}
/**
* 比较起始IP和终止IP的大小
* @param begin,end
* @return
*/
function compareIP(begin,end)
{
if((this.form[begin].value == "")||(this.form[end].value == ""))
return false;
var IP1=this.form[begin].value;
var IPArr1=IP1.split(".");
for(var i=0;i<IPArr1.length;i++)
{
if(IPArr1[i]<10)
IPArr1[i]="00"+IPArr1[i]
if(IPArr1[i]>9&&IPArr1[i]<100)
IPArr1[i]="0"+IPArr1[i]
}
var s1="";
for(var i=0;i<IPArr1.length;i++)
{
s1+=IPArr1[i]
}
var IP2=this.form[end].value;
var IPArr2=IP2.split(".");
for(var i=0;i<IPArr2.length;i++)
{
if(IPArr2[i]<10)
IPArr2[i]="00"+IPArr2[i]
if(IPArr2[i]>9&&IPArr2[i]<100)
IPArr2[i]="0"+IPArr2[i]
}
var s2="";
for(var i=0;i<IPArr2.length;i++)
{
s2+=IPArr2[i]
}
var intS1 = parseInt(s1);
var intS2 = parseInt(s2);
if(intS1>intS2)
{
alert("起始IP不能大于终止IP!");
this.form[end].focus();
return true;
}
else
{
return false;
}
}
/**
* 验证年月
* @param obj
* @return
*/
function checkdate(obj)
{
if(isNaN(obj.value))
{
alert("日期必须位数字!")
obj.select()
}
}
/** 检查日期格式 **/
function CheckDate(obj){
if(this.form[obj].value == "")
return true;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
var strDate=this.form[obj].value;
if(strDate.length>8){
//alert("时间格式不对!")
return false;
}
intYear = parseInt(strDate.substring(0,4),10);
intMonth = parseInt(strDate.substring(4,6),10);
intDay = parseInt(strDate.substring(6),10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
if(intMonth>12||intMonth<1){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)){
//alert("时间格式不对!")
return false;
}
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)){
// alert("时间格式不对!")
this.form[obj].focus();
return false;
}
if(intMonth==2){
if(intDay<1){
//alert("时间格式不对!")
return false;
}
boolLeapYear = false;
if((intYear%100)==0){
if((intYear%400)==0) boolLeapYear = true;
}
else{
if((intYear%4)==0) boolLeapYear = true;
}
if(boolLeapYear){
if(intDay>29){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
}
else{
if(intDay>28){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
}
}
return true;
}
/*
调试 from元素的值
*/
function debug_form(thisform)
{
var str="";
for(i=0 ; i< thisform.elements.length; i++)
{
if(thisform.elements[i].value == "")
tmpp = "****"
else
tmpp = thisform.elements[i].value
str += thisform.elements[i].name +"-- " + tmpp +"/n";
}
alert(str)
}
/**
*@验证是否是IP地址
*@是正确的IP返回true,不符合IP格式返回false
*author:muyl
*/
function isIP(obj,lable)
{
if(this.form[obj].value == "")
return false;
var IP=this.form[obj].value;
var IPArr=IP.split(".");
if(IPArr.length<4)
{
alert(lable+"不是正确的IP地址,正确的格式为:192.168.0.10");
this.form[obj].focus();
return false;
}
else
{
for(i=0;i<4;i++)
{
if(isNaN(IPArr[i]))
{
alert(lable+"不是正确的IP地址,正确的格式为:192.168.0.10");
this.form[obj].focus();
return false;
}
else if(IPArr[i]>255)
{
alert(lable+"不是正确的IP地址,正确的格式为:192.168.0.10");
this.form[obj].focus();
return false;
}
}
}
return true;
}
/**
*分隔输入框中货币值
*参数表:input,输入框(this);milSep,千位分隔符;decSep,小数点;event,事件(event)
*example: <input type=text name=test length=15 onKeyPress="return(currencyFormat(this,',','.',event))">
*author:muyl
*/
function currencyFormat(input,milSep,decSep,event)
{
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? event.which : event.keyCode;
if (whichCode == 13) return false; // Enter
key = String.fromCharCode(whichCode); // Get key value from key code
if (strCheck.indexOf(key) == -1) return false; // Not a valid key
len = input.value.length;
for(i = 0; i < len; i++)
if ((input.value.charAt(i) != '0') && (input.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(input.value.charAt(i))!=-1) aux += input.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) input.value = '';
if (len == 1) input.value = '0'+ decSep + '0' + aux;
if (len == 2) input.value = '0'+ decSep + aux;
if (len > 2)
{
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--)
{
if (j == 3)
{
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
input.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
input.value += aux2.charAt(i);
input.value += decSep + aux.substr(len - 2, len);
}
return false;
}
* <p>Title: </p>
* <p>Description:Javascript公用函数库</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Company: szkingdom </p>
* @author 陈剑英
* @version 1.0
*/
/**
*@一个通用的javascript验证的函数类
*@同过它的一个对象可以访问该类定义的所有方法
*/
function valid(thisform)
{
this.form = thisform;
this.isnull = isnull;
this.chkemail = chkemail;
this.length_less = length_less;
this.length_more=length_more;
this.isnumber = isnumber;
this.checkselect = checkselect;
this.del = del;
this.disObj = disObj;
this.waitObj = waitObj;
this.isPhone = isPhone;
this.isMobile = isMobile;
this.isAddress = isAddress;
this.CheckMonth = CheckMonth;
this.onlyCN = onlyCN;
this.onlyNum = onlyNum;
this.compare = compare;
this.CheckDate = CheckDate;
this.currencyFormat = currencyFormat;
this.isIP = isIP;
this.compareIP = compareIP;
}
/**
*@验证一个指定的元素不能为空
*@obj 组件对象名
*@lable 组件中文标示
*@disFocus 是否禁用焦点(该参数可以不提供) 为true则不应用焦点
*/
function isnull(obj,lable,disFocus)
{
if (trim(this.form[obj].value)== "")
{
alert(lable+"不能为空!");
if(disFocus != true)
this.form[obj].focus();
return true
}
else
return false
}
/**
*@验证一个指定的元素的长度不能小于指定的一个长度len
*@
*/
function length_less(obj,lable,len)
{
if(this.form[obj].value == "")
return false;
else if(this.form[obj].value.length < len)
{
alert(lable+"的长度不能小于"+len);
this.form[obj].focus();
return true
}
else
return false
}
/**
*@验证一个指定的元素的长度不能大于指定的一个长度len
*@
*/
function length_more(obj,lable,len)
{
if(this.form[obj].value == "")
return false;
else if(this.form[obj].value.length > len)
{
alert(lable+"的长度不能大于"+len);
this.form[obj].focus();
return true
}
else
return false
}
/**
*@ 验证一个指定的元素必须是数字
*@
*/
function isnumber(obj,lable)
{
if(isNaN(this.form[obj].value))
{
alert(lable+"的值必须为数字! ");
this.form[obj].focus();
return true
}
else
return false
}
/**
*@ 验证一个电子邮件的合法性
*@
*/
function chkemail(obj)
{
var checkStr = this.form[obj].value;
var allValid1 = false;
var allValid2 = false;
if (this.form[obj].value.length > 0)
{
if (this.form[obj].value.length > 50)
{
alert("请输入正确的电子信箱,如www@kingdon.com.cn!");
this.form[obj].focus();
return (true);
}
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
if (ch == '@')
{
allValid1 = true;
break;
}
}
for (i = 0; i < checkStr.length; i++)
{
ch = checkStr.charAt(i);
if (ch == '.')
{
allValid2 = true;
break;
}
}
if (!allValid1)
{
alert("请输入正确的电子信箱,如www@kingdon.com.cn!");
this.form[obj].focus();
return (true);
}
if (!allValid2)
{
alert("请输入正确的电子信箱,如www@kingdon.com.cn!");
this.form[obj].focus();
return (true);
}
}
return false
}
/**
*@ 验证一个下拉表是否选择
*@
*/
function checkselect(obj,lable)//验证
{
if(this.form[obj].selectedIndex == 0)
{
alert("请选择"+lable);
this.form[obj].focus();
return true
}
}
/**
*@ 确认删除
*@
*/
function del()
{
if (confirm("您真的要删除吗?"))
{
return(true);
}
else
{
return(false);
}
}
/**
*@ 确认取消
*@
*/
function cancel()
{
if (confirm("您真的要取消吗?"))
{
return(true);
}
else
{
return(false);
}
}
/**
*@ 设置list值-- 通用
*@ 根据list的value值设置对应的选项
*/
function set_list(thisform,listname,lx)
{
for(var i=0; i < thisform[listname].options.length; i++)
{
if (lx == thisform[listname].options[i].value)
{
thisform[listname].options[i].selected = true
}
}
}
//以下为重构时扩充的函数
/**
* 使用disable禁止组件
* @param n
* @return
*/
function disObj(obj)
{
this.form[obj].disabled = true;
}
/**
* 设置鼠标等待
* @param n
* @return
*/
function waitObj(obj)
{
this.form[obj].style.cursor = "wait";
}
/**
* 验证小灵通、座机电话和传真
* @param n
* @return
*/
function isPhone(obj,lable)
{
if(this.form[obj].value == "")
return false;
var v=this.form[obj].value;
if(v.search(/^(0[0-9]{2,3}-)?[0-9]{7,10}$/) == -1)
{
alert("不是有效的"+lable+"! 输入格式为:028-85210088");
this.form[obj].focus();
return true;
}else
{
return false;
}
}
/**
* 验证手机(不分联通和移动)
* @param n
* @return
*/
function isMobile(obj,lable)
{
if(this.form[obj].value == "")
return false;
var v=this.form[obj].value;
if(v.search(/^13[0-9]{7,10}$/) == -1)
{
alert("不是有效的"+lable);
this.form[obj].focus();
return true;
}else
{
return false;
}
}
/**
* 验证网址格式
* @param n
* @return
*/
function isAddress(obj,lable)
{
if(this.form[obj].value == "")
return false;
var v=this.form[obj].value;
if(v.search(/^(http:////)?({2,3}$/]www.)?(/w+(-/w+)*/.){1,2}[A-Za-z]{2,3}$/) == -1)
{
alert("不是有效的"+lable+" 输入格式为:www.sina.com.cn");
this.form[obj].focus();
return true;
}else
{
return false;
}
}
/**
* 只能输入汉字,用在onkeyup事件中
* @param n
*/
function onlyCN(obj)
{
var v = this.form[obj].value;
this.form[obj].value = v.replace(/[^/u4E00-/u9FA5]/g,'');
}
/**
* 只能输入数字(包括大键盘,小键盘,Tab键,回退键,左右键,回车键)用在onkeydown事件中
* @param
* @return
*/
function onlyNum(){
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)
||event.keyCode==9||event.keyCode==8||event.keyCode==37||event.keyCode==39||event.keyCode==13)){
alert("只能输入数字!");
event.returnValue=false;
}
}
/**
* 只能输入数字(包括大键盘,小键盘,Tab键,回退键,左右键,回车键,逗号)用在onkeydown事件中
* @param
* @return
*/
function onlyKey(){
if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105)
||event.keyCode==9||event.keyCode==8||event.keyCode==37||event.keyCode==39||event.keyCode==13)){
alert("只能输入数字!");
event.returnValue=false;
}
}
/**
* 用于年月的验证
* @param n
*/
function CheckMonth(obj)
{
if(this.form[obj].value == "")
return false;
var strDate=this.form[obj].value;
var intYear;
var intMonth;
var intDay;
if(strDate.length!=6)
{
alert("输入长度不正确,应是六位!");
this.form[obj].focus();
return true;
}
intYear = parseInt(strDate.substring(0,4),10);
intMonth = parseInt(strDate.substring(4,6),10);
if(isNaN(intYear)||isNaN(intMonth))
{
alert("输入的不是数字格式!");
this.form[obj].focus();
return true;
}
if(intMonth>12||intMonth<1)
{
alert("月份输入错误!");
this.form[obj].focus();
return true;
}
return false;
}
/**
* 去除字符串的前后空格
* @param str
* @return
*/
function trim(str)
{
var pos = str.length,arrays,result;
//str=new String();
/******去除字符串的前空格******/
arrays = str.split("");
for (var i = 0; i <= str.length-1; i++)
{
if(arrays[i] != " ")
{
pos = i;
break;
}
}
result=str.substring(pos,str.length);
/******去除字符串的后空格******/
arrays=result.split("");
for(var j = result.length-1; j >= 0; j--)
{
if(arrays[j] != " ")
{
pos = j;
break;
}
}
result = result.substring(0,pos+1);
return result;
}
/**
* 比较起始日期和终止日期的大小
* @param begin,end
* @return
*/
function compare(begin,end)
{
if((this.form[begin].value == "")||(this.form[end].value == ""))
return false;
var s1=this.form[begin].value;
var s2=this.form[end].value;
var intS1 = parseInt(s1);
var intS2 = parseInt(s2);
if(intS1>intS2)
{
alert("日期选择的起始不符!");
this.form[end].focus();
return true;
}
else
{
return false;
}
}
/**
* 比较起始IP和终止IP的大小
* @param begin,end
* @return
*/
function compareIP(begin,end)
{
if((this.form[begin].value == "")||(this.form[end].value == ""))
return false;
var IP1=this.form[begin].value;
var IPArr1=IP1.split(".");
for(var i=0;i<IPArr1.length;i++)
{
if(IPArr1[i]<10)
IPArr1[i]="00"+IPArr1[i]
if(IPArr1[i]>9&&IPArr1[i]<100)
IPArr1[i]="0"+IPArr1[i]
}
var s1="";
for(var i=0;i<IPArr1.length;i++)
{
s1+=IPArr1[i]
}
var IP2=this.form[end].value;
var IPArr2=IP2.split(".");
for(var i=0;i<IPArr2.length;i++)
{
if(IPArr2[i]<10)
IPArr2[i]="00"+IPArr2[i]
if(IPArr2[i]>9&&IPArr2[i]<100)
IPArr2[i]="0"+IPArr2[i]
}
var s2="";
for(var i=0;i<IPArr2.length;i++)
{
s2+=IPArr2[i]
}
var intS1 = parseInt(s1);
var intS2 = parseInt(s2);
if(intS1>intS2)
{
alert("起始IP不能大于终止IP!");
this.form[end].focus();
return true;
}
else
{
return false;
}
}
/**
* 验证年月
* @param obj
* @return
*/
function checkdate(obj)
{
if(isNaN(obj.value))
{
alert("日期必须位数字!")
obj.select()
}
}
/** 检查日期格式 **/
function CheckDate(obj){
if(this.form[obj].value == "")
return true;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
var strDate=this.form[obj].value;
if(strDate.length>8){
//alert("时间格式不对!")
return false;
}
intYear = parseInt(strDate.substring(0,4),10);
intMonth = parseInt(strDate.substring(4,6),10);
intDay = parseInt(strDate.substring(6),10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
if(intMonth>12||intMonth<1){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)){
//alert("时间格式不对!")
return false;
}
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)){
// alert("时间格式不对!")
this.form[obj].focus();
return false;
}
if(intMonth==2){
if(intDay<1){
//alert("时间格式不对!")
return false;
}
boolLeapYear = false;
if((intYear%100)==0){
if((intYear%400)==0) boolLeapYear = true;
}
else{
if((intYear%4)==0) boolLeapYear = true;
}
if(boolLeapYear){
if(intDay>29){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
}
else{
if(intDay>28){
//alert("时间格式不对!")
this.form[obj].focus();
return false;
}
}
}
return true;
}
/*
调试 from元素的值
*/
function debug_form(thisform)
{
var str="";
for(i=0 ; i< thisform.elements.length; i++)
{
if(thisform.elements[i].value == "")
tmpp = "****"
else
tmpp = thisform.elements[i].value
str += thisform.elements[i].name +"-- " + tmpp +"/n";
}
alert(str)
}
/**
*@验证是否是IP地址
*@是正确的IP返回true,不符合IP格式返回false
*author:muyl
*/
function isIP(obj,lable)
{
if(this.form[obj].value == "")
return false;
var IP=this.form[obj].value;
var IPArr=IP.split(".");
if(IPArr.length<4)
{
alert(lable+"不是正确的IP地址,正确的格式为:192.168.0.10");
this.form[obj].focus();
return false;
}
else
{
for(i=0;i<4;i++)
{
if(isNaN(IPArr[i]))
{
alert(lable+"不是正确的IP地址,正确的格式为:192.168.0.10");
this.form[obj].focus();
return false;
}
else if(IPArr[i]>255)
{
alert(lable+"不是正确的IP地址,正确的格式为:192.168.0.10");
this.form[obj].focus();
return false;
}
}
}
return true;
}
/**
*分隔输入框中货币值
*参数表:input,输入框(this);milSep,千位分隔符;decSep,小数点;event,事件(event)
*example: <input type=text name=test length=15 onKeyPress="return(currencyFormat(this,',','.',event))">
*author:muyl
*/
function currencyFormat(input,milSep,decSep,event)
{
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? event.which : event.keyCode;
if (whichCode == 13) return false; // Enter
key = String.fromCharCode(whichCode); // Get key value from key code
if (strCheck.indexOf(key) == -1) return false; // Not a valid key
len = input.value.length;
for(i = 0; i < len; i++)
if ((input.value.charAt(i) != '0') && (input.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(input.value.charAt(i))!=-1) aux += input.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) input.value = '';
if (len == 1) input.value = '0'+ decSep + '0' + aux;
if (len == 2) input.value = '0'+ decSep + aux;
if (len > 2)
{
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--)
{
if (j == 3)
{
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
input.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
input.value += aux2.charAt(i);
input.value += decSep + aux.substr(len - 2, len);
}
return false;
}
相关文章推荐
- JS通用表单验证函数,基于javascript正则表达式(IE下)
- JS通用表单验证函数,基于javascript正则表达式http://www.ccvita.com/60.html
- JavaScript通用表单验证函数
- Javascript通用表单的验证函数
- JS通用表单验证函数,基于javascript正则表达式
- 提供一个通用的Javascript验证页面输入的脚本给大家,并希望大家提意见呀
- JavaScript通用表单验证函数
- 通用表单验证函数 - FormCheck JavaScript Function
- JavaScript通用表单验证函数
- javascript实现通用表单验证函数
- JavaScript通用表单验证函数(1)
- javascript通用的一个验证注册实例
- JavaScript通用表单验证函数
- 通用表单验证函数 - FormCheck JavaScript Function
- JS通用表单验证函数,基于javascript正则表达式
- 一个网站上通用的验证效果的函数
- JS通用表单验证函数,基于javascript正则表达式 最近工作比较忙
- 一个验证Email 的Javascript 函数
- JavaScript通用表单验证函数
- JavaScript一个通用于代理和不代理的绑定事件函数