js表单验证工具包
常用的js表单验证方法大全
- /*
- 非空校验 : isNull()
- 是否是数字: isNumber(field)
- trim函数: trim() lTrim() rTrim()
- 校验字符串是否为空: checkIsNotEmpty(str)
- 校验字符串是否为整型: checkIsInteger(str)
- 校验整型最小值: checkIntegerMinValue(str,val)
- 校验整型最大值: checkIntegerMaxValue(str,val)
- 校验整型是否为非负数: isNotNegativeInteger(str)
- 校验字符串是否为浮点型: checkIsDouble(str)
- 校验字符串是否为日期型: checkIsValidDate(str)
- 校验两个日期的先后: checkDateEarlier(strStart,strEnd)
- 校验字符串是否为email型: checkEmail(str)
- 校验字符串是否为中文: checkIsChinese(str)
- 计算字符串的长度,一个汉字两个字符: fucCheckLength()
- 判断下拉列表框是否取值: getComboValue(field)
- 校验电话号(传真号) validateTel(str)
- 校验手机号 validateMonoTel(str)
- 校验字符串由字母,数字或两者组合而成 checkIsStrNum(str)
- 验证字符串是否只由字母组合而成 checkIsChar(str)
- 验证金额,成绩等可以带小数点数字的格式 validateResult(str,num1,num2)
- 计算两个日期之间的差值 dateDiff(interval, date1, date2)
- 验证是否为,或最大长度中文两个符 isNotNull(arg1,arg2,arg3)
- 验证输入值是否是月份 isMonth(validateMonth)
- 验证输入值是否是年份 isYear(validateYear)
- --------------------------------------------------------------------
- 验证小数和负数 chknbr(num,opt1,opt2)
- //opt1 小数 opt2 负数
- //当opt1为1时检查num是否是小数
- //当opt2为1时检查num是否是负数
- //返回true是正确的,false是错误的
- --------------------------------------------------------------------
- 四舍五入函数: round(input,exact)//input 数值 exact 精确的位数
- 得到文件的后缀名: getFilePostfix(oFile)
- */
- //=================================================================
- //function:isNull()
- //非空校验
- //==================================================================
- function isNull(aForm,fieldArray)
- {
- if (confirm("您确认要进行此操作吗?"))
- {
- for (var i=0;i<(aForm.elements.length);i++)
- {
- var el=aForm.elements[i];
- for(var j=1;j<=fieldArray.length;j++)
- {
- if (el.name==fieldArray[j])
- {
- if(trim(el.value)=="")
- {
- setMessage("焦点处的值不能为空:"+fieldArray[j]+"!");
- el.focus();
- return true;
- }
- }
- }
- }
- return false;
- }
- else
- {
- return true;
- }
- }
- //==================================================================
- // function isNumber(field)
- // 判断input text 的是否是数字.
- // return: true or false field为空返回false
- //==================================================================
- function isNumber(field){
- //var re = new RegExp(/^\d+.*$/);
- var re = /^\d+(?=\.{0,1}\d+$|$)/;
- return re.test(trim(field.value));
- }
- function LTrim(str)
- {
- var whitespace = new String(" \t\n\r");
- var s = new String(str);
- if (whitespace.indexOf(s.charAt(0)) != -1)
- {
- var j=0, i = s.length;
- while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
- {
- j++;
- }
- s = s.substring(j, i);
- }
- return s;
- }
- function RTrim(str)
- {
- var whitespace = new String(" \t\n\r");
- var s = new String(str);
- if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
- {
- var i = s.length - 1;
- while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
- {
- i--;
- }
- s = s.substring(0, i+1);
- }
- return s;
- }
- function trim(str)
- {
- return RTrim(LTrim(str));
- }
- /********************************** Empty **************************************/
- /**
- *校验字符串是否为空
- *返回值:
- *如果不为空,定义校验通过,返回true
- *如果为空,校验不通过,返回false 参考提示信息:输入域不能为空!
- */
- function checkIsNotEmpty(str)
- {
- if(trim(str)== "")
- return false;
- else
- return true;
- }
- /*--------------------------------- Empty --------------------------------------*/
- /********************************** Integer *************************************/
- /**
- *校验字符串是否为整型
- *返回值:
- *如果为空,定义校验通过, 返回true
- *如果字串全部为数字,校验通过,返回true
- *如果校验不通过, 返回false 参考提示信息:输入域必须为数字!
- */
- function checkIsInteger(str)
- {
- //如果为空,不通过校验
- if(trim(str) == "")
- return false;
- var strr=trim(str);
- if(new RegExp(/^(\d+)$/).test(strr))
- return true;
- else
- return false;
- }//~~~
- /**
- *校验整型最小值
- *str:要校验的串。 val:比较的值
- *
- *返回值:
- *如果为空,定义校验通过, 返回true
- *如果满足条件,大于等于给定值,校验通过,返回true
- *如果小于给定值, 返回false 参考提示信息:输入域不能小于给定值!
- */
- function checkIntegerMinValue(str,val)
- {
- //如果为空,则通过校验
- if(str == "")
- return true;
- if(typeof(val) != "string")
- val = val + "";
- if(checkIsInteger(str) == true)
- {
- if(parseInt(str,10)>=parseInt(val,10))
- return true;
- else
- return false;
- }
- else
- return false;
- }//~~~
- /**
- *校验整型最大值
- *str:要校验的串。 val:比较的值
- *
- *返回值:
- *如果为空,定义校验通过, 返回true
- *如果满足条件,小于等于给定值,校验通过,返回true
- *如果大于给定值, 返回false 参考提示信息:输入值不能大于给定值!
- */
- function checkIntegerMaxValue(str,val)
- {
- //如果为空,则通过校验
- if(str == "")
- return true;
- if(typeof(val) != "string")
- val = val + "";
- if(checkIsInteger(str) == true)
- {
- if(parseInt(str,10)<=parseInt(val,10))
- return true;
- else
- return false;
- }
- else
- return false;
- }//~~~
- /**
- *校验整型是否为非负数
- *str:要校验的串。
- *
- *返回值:
- *如果为空,定义校验通过,返回true
- *如果非负数, 返回true
- *如果是负数, 返回false 参考提示信息:输入值不能是负数!
- */
- function isNotNegativeInteger(str)
- {
- //如果为空,则通过校验
- if(str == "")
- return true;
- if(checkIsInteger(str) == true)
- {
- if(parseInt(str,10) < 0)
- return false;
- else
- return true;
- }
- else
- return false;
- }//~~~
- /*--------------------------------- Integer --------------------------------------*/
- /********************************** Double ****************************************/
- /**
- *校验字符串是否为浮点型
- *返回值:
- *如果为空,定义校验通过, 返回true
- *如果字串为浮点型,校验通过, 返回true
- *如果校验不通过, 返回false 参考提示信息:输入域不是合法的浮点数!
- */
- function checkIsDouble(str)
- {
- //如果为空,则通过校验
- if(trim(str) == "")
- return true;
- //如果是整数,则校验整数的有效性
- if(str.indexOf(".") == -1)
- {
- if(checkIsInteger(str) == true)
- return true;
- else
- return false;
- }
- else
- {
- if(new RegExp(/^(\-?)(\d+)(.{1})(\d+)$/g).test(trim(str)))
- return true;
- else
- return false;
- }
- }//~~~
- /*--------------------------------- Double ---------------------------------------*/
- /********************************** date ******************************************/
- /**
- *校验字符串是否为日期型
- *返回值:
- *如果为空,定义校验通过, 返回false
- *如果字串为日期型,校验通过, 返回true
- *如果日期不合法, 返回false 参考提示信息:输入域的时间不合法!(yyyy-MM-dd)
- */
- function checkIsValidDate(str)
- {
- //如果为空,则通过校验
- if(trim(str) == "")
- return false;
- var pattern = new RegExp(/^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g);
- if(!pattern.test(str))
- return false;
- var arrDate = str.split("-");
- if(parseInt(arrDate[0],10) < 100)
- arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
- var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
- // date.getYear() == arrDate[0]
- // &&
- if( date.getMonth() == (parseInt(arrDate[1],10) -1)+""
- && date.getDate() == arrDate[2])
- return true;
- else
- return false;
- }
- /**
- *校验字符串是否为日期型 YYYY-MM-DD
- *返回值:
- *如果为空,定义校验通过, 返回true
- *如果字串为日期型,校验通过, 返回true
- *如果日期不合法, 返回false 参考提示信息:输入域的时间不合法!(yyyy-MM-dd)
- */
- function isDate(str)
- {
- //如果为空,则通过校验
- if((null != str && "null" != str) && "" == str)
- return true;
- //校验日期 格式为YYYY-MM-DD
- var pattern = new RegExp(/^(\d{4})-(\d{1,2})-(\d{1,2})$/g);
- if(!pattern.test(str))
- return false;
- var arrDate = str.split("-");
- var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
- if( date.getMonth() == (parseInt(arrDate[1],10) -1)+""
- && date.getDate() == arrDate[2])
- return true;
- else
- return false;
- }
- function isYearValidate(str)
- {
- if('' == str){
- return true;
- }else{
- var pattern = new RegExp(/^(\d{4})$/g);
- if(!pattern.test(str)){
- return false;
- }
- return true;
- }
- return false;
- }
- /*
- function checkIsValidDate(aForms,fieldArray)
- {
- //如果为空,则通过校验
- for (var i=0;i<(aForms.elements.length);i++)
- {
- var el=aForms.elements[i];
- for(var j=0;j<fieldArray.length;j++)
- {
- if (el.name==fieldArray[j])
- {
- if(el.value =="")
- {
- return true;
- }
- else
- {
- var pattern = /^((\d{4})|(\d{2}))-(\d{1,2})-(\d{1,2})$/g;
- if(!pattern.test(el.value))
- return false;
- var arrDate = el.value.split("-");
- if(parseInt(arrDate[0],10) < 100)
- arrDate[0] = 2000 + parseInt(arrDate[0],10) + "";
- var date = new Date(arrDate[0],(parseInt(arrDate[1],10) -1)+"",arrDate[2]);
- if(date.getYear() == arrDate[0]
- && date.getMonth() == (parseInt(arrDate[1],10) -1)+""
- && date.getDate() == arrDate[2])
- return true;
- else
- return false;
- }
- }
- }
- }
- }*/
- //~~~
- /**
- *校验两个日期的先后
- *返回值:
- *如果其中有一个日期为空,校验通过, 返回true
- *如果起始日期早于等于终止日期,校验通过, 返回true
- *如果起始日期晚于终止日期, 返回false 参考提示信息: 起始日期不能晚于结束日期。
- */
- function checkDateEarlier(strStart,strEnd)
- {
- if(checkIsValidDate(strStart) == false || checkIsValidDate(strEnd) == false)
- return false;
- //如果有一个输入为空,则通过检验
- if (( strStart == "" ) || ( strEnd == "" ))
- return true;
- var arr1 = strStart.split("-");
- var arr2 = strEnd.split("-");
- var date1 = new Date(arr1[0],parseInt(arr1[1].replace(/^0/,""),10) - 1,arr1[2]);
- var date2 = new Date(arr2[0],parseInt(arr2[1].replace(/^0/,""),10) - 1,arr2[2]);
- if(arr1[1].length == 1)
- arr1[1] = "0" + arr1[1];
- if(arr1[2].length == 1)
- arr1[2] = "0" + arr1[2];
- if(arr2[1].length == 1)
- arr2[1] = "0" + arr2[1];
- if(arr2[2].length == 1)
- arr2[2]="0" + arr2[2];
- var d1 = arr1[0] + arr1[1] + arr1[2];
- var d2 = arr2[0] + arr2[1] + arr2[2];
- if(parseInt(d1,10) > parseInt(d2,10))
- return false;
- else
- return true;
- }
- //~~~
- /*--------------------------------- date -----------------------------------------*/
- /********************************** email *****************************************/
- /**
- *校验字符串是否为email型
- *返回值:
- *如果为空,定义校验通过, 返回true
- *如果字串为email型,校验通过, 返回true
- *如果email不合法, 返回false 参考提示信息:Email的格式不正確!
- */
- function checkEmail(str)
- {
- //如果为空,则通过校验
- if(trim(str) == "")
- return true;
- if (str.charAt(0) == "." || str.charAt(0) == "@" || str.indexOf('@', 0) == -1
- || str.indexOf('.', 0) == -1 || str.lastIndexOf("@") == str.length-1 || str.lastIndexOf(".") == str.length-1)
- return false;
- else
- return true;
- }//~~~
- /*--------------------------------- email ----------------------------------------*/
- /********************************** chinese ***************************************/
- /**
- *校验字符串是否为中文
- *返回值:
- *如果为空,定义校验通过, 返回true
- *如果字串为中文,校验通过, 返回true
- *如果字串为非中文, 返回false 参考提示信息:必须为中文!
- */
- function checkIsChinese(str)
- {
- //如果值为空,通过校验
- if (str == "")
- return true;
- var pattern = /^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$/gi;
- if (pattern.test(str))
- return true;
- else
- return false;
- }
- //判断下拉列表框是否取值
- function getComboValue(field)
- {
- if (document.getElementById(field).value=="")
- {
- setMessage('请选择');
- document.forms[0].field.focus();
- return;
- }
- }
- //是否为有效年
- function isYear(aForm,field)
- {
- for (var i=0;i<(aForm.elements.length);i++)
- {
- var el=aForm.elements[i];
- if (el.name==field)
- {
- if (document.getElementById(field).value>=1900 && document.getElementById(field).value<=2053)
- {
- }
- else
- {
- //setMessage('当前年份无效!');
- //aForm.field.focus();
- return false;
- }
- }
- }
- return true;
- }
- function JHshNumberText()
- {
- if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))
- || (window.event.keyCode == 13) || (window.event.keyCode == 46)
- || (window.event.keyCode == 45)))
- {
- window.event.keyCode = 0 ;
- }
- }
- //函数名:fucCheckLength
- //功能介绍:检查字符串的长度
- //参数说明:要检查的字符串
- //返回值:长度值
- function fucCheckLength(strTemp)
- {
- var i,sum;
- sum=0;
- for(i=0;i<strTemp.length;i++)
- {
- if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)<=255))
- sum=sum+1;
- else
- sum=sum+2;
- }
- return sum;
- }
- //add by hongxin_ma
- //opt1 小数 opt2 负数
- //当opt1为1时检查num是否是小数
- //当opt2为1时检查num是否是负数
- //返回true是正确的,false是错误的
- function chknbr(num,opt1,opt2)
- {
- //第一个字符为"." 返回false
- if(num.charAt(0)=='.')return false;
- var i=num.length;
- var staus;
- //staus用于记录.的个数
- status=0;
- if ((opt2!=1) && (num.charAt(0)=='-'))
- {
- //setMessage("You have enter a invalid number.");
- return false;
- }
- //当最后一位为.时出错
- if (num.charAt(i-1)=='.')
- {
- //setMessage("You have enter a invalid number.");
- return false;
- }
- for (j=0;j<num.length ; j++){
- if (num.charAt(j)=='.')
- {
- status++;
- }
- if (status>1)
- {
- //setMessage("You have enter a invalid number.");
- return false;
- }
- if (num.charAt(j)<'0' || num.charAt(j)>'9' )
- {
- if (((opt1==0) || (num.charAt(j)!='.')) && (j!=0))
- {
- //setMessage("You have enter a invalid number.");
- return false;
- }
- }
- }
- return true;
- }
- /*
- *add by hongxin_ma四舍五入函数
- *@param input 输入的原值
- *@param exact 精确的位数
- */
- function round(input,exact){
- if(exact==0){
- if(new RegExp(/^\d+.*$/).test(input))
- {
- input=parseFloat(input)+0.5;
- return parseInt(input,'10');
- }else if(new RegExp(/^\-\d+.*$/).test(input)){
- input=parseFloat(input)-0.5;
- return parseInt(input,'10');
- }
- else
- {
- return input
- };
- }
- var substract = '0.';
- var result = '';
- for(var i=0;i<exact;i++){
- substract+='0';
- }
- substract+='5';
- try{
- if(parseFloat(input)>0)
- {
- result = parseFloat(input)+parseFloat(substract);
- }else
- {
- result = parseFloat(input)-parseFloat(substract);
- }
- result = result.toString();
- var end = parseInt(result.indexOf("."),"10")+parseInt(exact,"10")+1;
- result = result.substring(0,end);
- }catch(e){
- return result;
- }
- if(result==-0)
- {
- result = Math.abs(result);
- }
- return result;
- }
- /**
- * add by hongpeng_dong 2007.05.11
- * 验证字符串是否是电话号码,传真
- * 区号为3-4位 可以不写 区号后可以带一个-号,号码为3-8位)
- * 允许空值
- * @param 字符串
- * @return 合理true 否则为false 空返回true
- */
- function validateTel(str){
- if('' == trim(str))
- return true;
- var pattern = new RegExp(/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/);
- return pattern.exec(str);
- }
- /**
- * add by hongpeng_dong 2007.12.11
- * 验证字符串是否是电话号码,传真
- * 格式为 区号(3-4位)-号码(3-8位) 如:0431-85667788
- * 允许空值
- * @param 字符串
- * @return 合理true 否则为false 空返回true
- */
- function validateTelToo(str){
- if('' == trim(str))
- return true;
- var pattern = new RegExp(/^[0-9]{3,4}\-[0-9]{3,8}$/);
- return pattern.exec(str);
- }
- /**
- * add by hongpeng_dong 2007.05.11
- * 验证字符串是否是手机号 (必须以1打头 前面可以加0 其它为10位)
- * 允许空值
- * @param 字符串
- * @return 合理true 否则为false 空返回true
- */
- function validateMonoTel(str){
- if('' == trim(str))
- return true;
- var pattern = new RegExp(/^0{0,1}1[0-9]{10}$/);
- return pattern.test(str);
- }
- /**
- * add by hongpeng_dong 2007.04.03
- * 验证字符串是否只由字母,数字或两者组合而成
- * @param 字符串
- * @return 是true 非false
- */
- function checkIsStrNum(str){
- if(new RegExp(/^[a-zA-Z0-9]*$/g).test(str)){
- return true;
- }
- return false;
- }
- /**
- * add by chun_chang 2007.05.15
- * 验证字符串是否只由字母组合而成
- * @param 字符串
- * @return 是true 非false
- */
- function checkIsChar(str){
- if(new RegExp(/^[a-zA-Z]*$/g).test(str)){
- return true;
- }
- return false;
- }
- /**
- * add by hongpeng_dong 2007.05.12
- * 验证金额,成绩等可以带小数点数字的格式
- * @param str(要验证的字符串) num1(整数部分允许的最大长度) num2(小数点后允许的最大长度)
- * num1 num2 要求均为大于0的正整数 否则直接返回false
- * @return 格式正确true 不正确false
- * (正确格式可以为不含小数点的正整数,长度最大为传入的数值;如果str为空,返回true)
- */
- function validateResult(str,num1,num2){
- if('' == trim(str))
- return true;
- if(num1 ==0 || num2 == 0)
- return false;
- var v1 = '';
- var v2 = '';
- if(num1 != 1)
- v1=',' + num1;
- if(num2 != 1)
- v2 = ','+num2;
- var re = new RegExp('\(^[0-9]{1'+v1+'}\\.[0-9]{1'+v2+'}$)|(^[0-9]{1'+v1+'}$)');
- return re.test(str);
- }
- /**
- * 计算两个日期之间的差值
- * 使用方法:(eg): alert(dateDiff('h', '2007-4-14', '2007-4-19'));
- * h 表示 HOUR, D 表示 day, M 表示 minute, s 表示 second
- */
- function dateDiff(interval, date1, date2)
- {
- var objInterval = {'D' : 1000 * 60 * 60 * 24, 'H' : 1000 * 60 * 60, 'M' : 1000 * 60, 'S' : 1000};
- interval = interval.toUpperCase();
- var dt1 = Date.parse(date1.replace(/-/g, '/'));
- var dt2 = Date.parse(date2.replace(/-/g, '/'));
- try
- {
- return Math.round((dt2 - dt1) / eval('(objInterval.' + interval + ')'));
- }
- catch (e)
- {
- return e.message;
- }
- dt1 = null;
- dt2 = null;
- objInterval = null;
- }
- /*
- add by sihua_yao
- 校验网站url
- 只允许输入http:// https://的
- 参数 :url 为对象
- */
- function checkWebUrl(url)
- {
- if(url.value==""||url.value=="http://"||url.value=="https://")
- {
- setMessage ("请填写正确的网址!如http://www.ideal.com!");
- return false;
- }
- if(url.value.length<8)
- {
- setMessage("请填写正确的网址!如http://www.ideal.com!");
- //url.focus();
- return false;
- }
- if ( url.value.substring(0, 7)!="http://" && url.value.substring(0, 8)!="https://" )
- {
- setMessage ("请填写正确的网址!如http://www.ideal.com!");
- return false;
- }
- if(url.value.substring(0, 7)=="http://")
- {
- var s="";
- s=url.value.substring(7,url.value.length);
- var a=s.indexOf(".", 0);
- if(a=="-1")
- {
- setMessage ("请填写正确的网址!如http://www.ideal.com!");
- //url.focus();
- return false;
- }
- var s1=s.substring(a+1,s.length)
- var b=s1.indexOf(".", 0);
- if(b=="-1")
- {
- setMessage ("请填写正确的网址!如http://www.ideal.com!");
- //url.focus();
- return false;
- }
- return true;
- }
- if(url.value.substring(0, 8)=="https://")
- {
- var s="";
- s=url.value.substring(8,url.value.length);
- var a=s.indexOf(".", 0);
- if(a=="-1")
- {
- setMessage ("请填写正确的网址!如http://www.ideal.com!");
- //url.focus();
- return false;
- }
- var s1=s.substring(a+1,s.length)
- var b=s1.indexOf(".", 0);
- if(b=="-1")
- {
- setMessage ("请填写正确的网址!如http://www.ideal.com!");
- //url.focus();
- return false;
- }
- return true;
- }
- }
- /**
- * added by hongpeng_dong 2007.11.21
- * 得到文件的后缀名
- * oFile为file控件对象
- */
- function getFilePostfix(oFile)
- {
- if(oFile == null)
- return null;
- var pattern = /(.*).(.*)$/gi;
- if(typeof(oFile) == "object")
- {
- if(oFile.value == null || oFile.value == "")
- return null;
- var arr = pattern.exec(oFile.value);
- return RegExp.$2;
- }
- else if(typeof(oFile) == "string")
- {
- var arr = pattern.exec(oFile);
- return RegExp.$2;
- }
- else
- return null;
- }
- /**
- * add by wei_liu at 2007-02-3
- * 验证是否为空
- * arg1为验证的文档的id
- * arg2为验证的文档名称
- * aarg3文档的最大长度,可以不用验证,只需传递两个前个就可以
- * example funcion aa(){
- * if(!isNotNull('voteTitle',"标题",20)){return ;}
- * 其它操作other action
- * }
- * 也可以不用验证长度
- * example function aa(){
- * if(!isNotNull('voteTitle',"标题")){return ;}
- * }
- * ***********************验证通过返回true
- */
- function isNotNull(arg1,arg2,arg3)
- {
- if(document.getElementById(arg1)){
- if(trim(document.getElementById(arg1).value) =='')
- {
- setMessage('请填写'+arg2+'!');
- return false;
- }
- if(arg3 !='' && typeof(arg3)!='' && arg3 !=null && arg3 != 'undefined')
- {
- if(!maxLongById(arg1,arg3,arg2)){return false;}
- }
- return true;
- }else{
- setMessage('你要验证的字段不存在或ID重复定义');
- return false;
- }
- }
- /**
- * add by wei_liu at 2007-02-3
- * 验证长度
- * arg1为验证的文档的id
- * arg2文档的最大长度
- * arg3为验证的文档名称
- * ***********************验证通过返回true
- */
- function maxLongById(arg1,arg2,arg3)
- //str.replace(/[^\x00-\xff]/g,"**").length
- {
- if(document.getElementById(arg1)){
- var str =document.getElementById(arg1).value;
- var mLength =str.replace(/[^\x00-\xff]/g,"**").length;
- if(mLength>arg2)
- {
- setMessage(arg3+'不能超过'+arg2+'个字符或'+(arg2/2)+'个汉字!');
- return false;
- }
- return true;
- }else{
- setMessage('你要验证的字段不存在或ID重复定义');
- return false;
- }
- }
- /**
- * add by wei_liu at 2007-02-3
- * 验证是否为空
- * arg1为验证的文档的value
- * arg2为验证的文档名称
- * aarg3文档的最大长度,可以不用验证,只需传递两个前个就可以
- * example funcion aa(){
- * if(!isNotNull('voteTitle',"标题",20)){return ;}
- * 其它操作other action
- * }
- * 也可以不用验证长度
- * example function aa(){
- * if(!isNotNull('voteTitle',"标题")){return ;}
- * }
- * ***********************验证通过返回true
- */
- function isNotNullValue(arg1,arg2,arg3)
- {
- if(trim(arg1) =='' || typeof(arg1)=='undefined')
- {
- setMessage('请填写'+arg2+'!');
- return false;
- }
- if(arg3 !='' && typeof(arg3)!='' && arg3 !=null &&arg3 != 'undefined')
- {
- if(!maxLongByValue(arg1,arg3,arg2)){return false;}
- }
- return true;
- }
- /**
- * add by wei_liu at 2007-02-3
- * 验证长度
- * val1为验证的文档的value
- * val2文档的最大长度
- * val3为验证的文档名称
- * ***********************验证通过返回true
- */
- function maxLongByValue(val1,val2,val3){
- var mLength = val1.replace(/[^\x00-\xff]/g,"**").length;
- if(mLength>val2)
- {
- setMessage(val3+'不能超过'+val2+'个字符或'+(val2/2)+'个汉字!');
- return false;
- }
- return true;
- }
- /**
- * added by hongpeng_dong 2008.3.11
- * 判断输入值是否是月份
- * param:validateMonth 要验证的值
- * 是true 否false
- */
- function isMonth(validateMonth){
- var pattern = new RegExp(/(^[0]{0,1}[1-9]$)|(^1[0-2]$)/);
- return pattern.test(validateMonth);
- }
- /**
- * added by hongpeng_dong 2008.3.11
- * 判断输入值是否是年份
- * param:validateYear 要验证的值
- * 是true 否false
- */
- function isYear(validateYear){
- var pattern = new RegExp(/^[1-9][0-9]{3}$/);
- return pattern.test(validateYear);
- }
js表单验证工具包的更多相关文章
- JS表单验证-12个常用的JS表单验证
JS表单验证-12个常用的JS表单验证 最近有个项目用到了表单验证,小编在项目完结后的这段时间把常用的JS表单验证demo整理了一下,和大家一起分享~~~ 1. 长度限制 <p>1. 长度 ...
- js 表单验证控制代码大全
js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ...
- jquery.validation.js 表单验证
jquery.validation.js 表单验证 官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuer ...
- Jquery.validate.js表单验证插件的使用
作为一个网站web开发人员,以前居然不知道还有表单验证这样好呀的插件,还在一行行写表单验证,真是后悔没能早点知道他们的存在. 最近公司不忙,自己学习一些东西的时候,发现了validation的一个实例 ...
- angular js 表单验证
<!doctype html> <html ng-app="myapp"> <head> <meta charset="UTF- ...
- JS表单验证类HTML代码实例
以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ...
- Js表单验证控件-02 Ajax验证
在<Js表单验证控件(使用方便,无需编码)-01使用说明>中,写了Verify.js验证控件的基本用法,基本可以满足大多数验证需求,如果涉及服务端的验证,则可以通过Ajax. Ajax验证 ...
- jQuery.validate.js表单验证插件
jQuery.validate.js表单验证插件的使用 效果: 代码: <!DOCTYPE html> <html lang="en"> <head& ...
- 一个漂亮的js表单验证页面+验证码
一个漂亮的js表单验证页面 见图知其意, 主要特性 带密码安全系数的判断 其他的就没有啥啦 嘿嘿嘿 当然,其代码也在Github上 我也准备了一套可以直接Ctrl + v; Ctrl + c 运行的代 ...
随机推荐
- CentOS上安装oracle11g报错处理
最近,在处理oracle gateway的报错问题.只因个人的测试环境已经迁移到docker上了,又懒得装一套环境就直接在机器上安装oracle11g.今天分享的故事就从此开始-- 运行环境 项目 ...
- u-boot、kernel、root系统烧写和挂载命令命令
一.uboot 环境变量: 1. 打印环境变量:# print 2. 设置启动参数# set bootargs noinitrd init=/linuxrc console=ttySAC0,11520 ...
- Java学习笔记九:Java的循环跳转语句
Java的循环跳转语句 一:Java循环跳转语句之break: 生活中,我们经常会因为某些原因中断既定的任务安排.如在参加 10000 米长跑时,才跑了 500 米就由于体力不支,需要退出比赛.在 J ...
- Qt——菜单栏、工具栏、状态栏
1.菜单栏 菜单栏的意义是将可点击触发最终事件的集中在一起,所以菜单栏中是QAction 添加菜单栏是QMainWindow的行为 QMenubar *menubar = this->addMe ...
- (长期更新)OI常用模板
代码很简单的模板就不收录了. DFT 离散傅立叶变换 void dft(pdd *a,int l,bool r){ int i,j=l/2,k; for(i=1;i<l;++i){ if(i&l ...
- IDEA中SVN的使用
文件红色:表示文件没有添加到服务器 绿色:表示没有更新新的修改到服务器 普通黑色:表示和服务器同步 1.如何让修改的文件的父文件也变成蓝色(未提交的状态) 2.其中的1.6 format 1.7 fo ...
- MySQL分区的限制(最多有多少个分区)
MySQL分区的限制 • 只能对数据表的整型列进行分区,或者数据列可以通过分区函数转化成整型列 • 最大分区数目不能超过1024 • 如果含有唯一索引或者主键,则分区列必须包含在所有的唯一 ...
- git初始化仓库相关
当我们需要新建一个git项目会遇到的问题 全局设置 git config --global user.name "名字" git config --global user.emai ...
- Django学习之天气调查实例(3):部署静态文件CSS、JS、images等(部署环境基于Ubuntu)
在设计登录界面时,采用了网上下载的登录模板,漂亮,简易.但是在测试和部署时,发现原来模板中采用的js文件和css文件,却着实让我折腾了好几天. 在以往的网页设计中,一般只要把测试站点开启后,网页中的静 ...
- 用mapreduce读取hdfs数据到hbase上
hdfs数据到hbase过程 将HDFS上的文件中的数据导入到hbase中 实现上面的需求也有两种办法,一种是自定义mr,一种是使用hbase提供好的import工具 hbase先创建好表 cre ...