`
mamaoyuan625
  • 浏览: 176991 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

通用验证javascript

阅读更多
//****************VARIABLE DESCRIPTION*******************//
// s=字符串
// label_name = 输入框标识
// allow_len = 允许长度
// objField = 字段对象 (document.formname.field)

//******************FUNCTION INCLUDED********************//
//trim(s)                                      //删除多余空格         [字符串]
//isEmpty(s)                                   //是否为空            [布尔]
//isNum(s)                                     //是否为数字串(0-9)  [布尔]
//isCharNum(s)                                 //是否字符串(0-9a-zA-Z)        [布尔]
//isInteger(s)	 			       //正整数
//getTextLen(s)                                //获取字符串长度,汉字按2位计算    [数字]
//chkLen(objField, allow_len, label_name,defaultEmpty)       //校验字符串长度,汉字按2位计算    [布尔]
//chkLenEquals(objField, allow_len, label_name,defaultEmpty) //校验字符串长度是否和要求相同,汉字按2位计算    [布尔]
//chkEmail(objField,label_name,defaultEmpty)	               //校验E_mail       [布尔]
//chkNum(objField,label_name,defaultEmpty)		       //校验数字串(0-9)
//chkCharNum(objField,label_name,defaultEmpty)	       //校验字符串(0-9a-zA-Z)
//chkPhone(objField,label_name,defaultEmpty)                 //校验电话(0000-0000-0000)
//chkPostCode(objField,label_name,defaultEmpty) 	       //校验邮编
//chkInteger(objField,label_name,defaultEmpty)	       //校验正整数
//chkWhiteSpace(objField,label_name)	       //检验空格
//chkFloat(objField,allow_len,dec,label_name,allow_zero,defaultEmpty)	   //校验符点数
//(dec=小数点后的位数 allow_zero=是否允许为零)
//isFloatLength (s,label_name,allow_len, dec,floatErrMes)
//isNumeric(s) //检验s是否是数字

//******************FUNCTION HEADER**********************//

// BOI, followed by one or more digits, followed by EOI.
var reInteger = /^\d+$/

// BOI, followed by one or more whitespace characters, followed by EOI.
var reWhitespace = /^\s+$/

// decimal point character differs by language and culture
var decimalPointDelimiter = "."

// field bgcolor
var fieldbg="#ddd";

//*****************FUNCTION MAIN**************************//
function isNum(s) {
  var str = /^[0-9]*$/;
  return (str.test(s));
}

function isCharNum(s) {
  var str = /^[0-9a-zA-Z]*$/;
	return (str.test(s));
}

//is Integer?
function isInteger (s) {
	var reInteger = /^\d+$/
	if (!reInteger.test(s) || parseInt(s,10)==0) return false;
 	return true
}

function getTextLen(s) {
    var ilen=0;
    var chr;
    for(i=0;i<s.length;i++) {
       chr=escape(s.charAt(i));
       if(chr.length==6) ilen+=2;
       else ilen++;
    } //End for
    return ilen;
}

function chkSeleFirst(objField, label_name) {
	if (objField.selectedIndex==0) {
		setFieldProperty(objField);
	  alert ("请选择 " + label_name+" .");
	  return false;
	}
	return true;
}

function chkNumeric(objField,label_name,defaultEmpty) {
	var s = objField.value;
	if(isEmpty(s)) {
		if (!defaultEmpty) {
	     setFieldProperty(objField);
	     alert ("请输入 " + label_name+" .");
	     objField.value = "";
	     return false;
	  } else return true;
	}
	if (isNaN(s)) {
		setFieldProperty(objField);
		alert ("请输入 " + label_name+" 中输入数字.");
		objField.value = "";
	        return false;
	}
	return true;
}

function chkLen(objField, allow_len, label_name,defaultEmpty) {
  var s = objField.value;
  if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;

	if(isEmpty(s)) {
		
		if (!defaultEmpty) {
			 
	    setFieldProperty(objField);
	    alert ("请输入 " + label_name+" .");
	    objField.value = "";
	    return false;
	  } else return true;
	}
	if (getTextLen(s) > allow_len) {
		setFieldProperty(objField);
		alert(label_name + " 的长度不能超过 " + allow_len + " 个字节,请重新填写.");
		objField.value = "";
		return false;
	}
	return true;
}

function chkFckeditorLen(objField, allow_len, label_name,defaultEmpty) {

	  var oEditor = FCKeditorAPI.GetInstance(objField) ;
	     var content = oEditor.GetXHTML();
	     if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
	if(isEmpty(content)) {
		
		if (!defaultEmpty) {
			 
	    oEditor.Focus();
	    alert ("请输入 " + label_name+" .");
	  
	    return false;
	  } else return true;
	}
	if (getTextLen(content) > allow_len) {
		 oEditor.Focus();
		alert(label_name + " 的长度不能超过 " + allow_len + " 个字节,请重新填写.");
		
		return false;
	}
	return true;
}



function chkLenEquals(objField, allow_len, label_name,defaultEmpty) {
  var s = objField.value;
  if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
	if(isEmpty(s)) {
		if (!defaultEmpty) {
	    setFieldProperty(objField);
	    alert ("请输入 " + label_name+" .");
	    objField.value = "";
	    return false;
	  } else return true;
	}
	if (getTextLen(s) != allow_len) {
		setFieldProperty(objField);
		alert(label_name + " 的长度必须为 " + allow_len + " 个字节,请重新填写.");
		objField.value = "";
		return false;
	}
	return true;
}

function chkEmail(objField,label_name,defaultEmpty) {
  var s = objField.value;
	var str = /^[_\.0-9a-zA-Z]+@([0-9a-zA-Z]+\.)+[a-zA-Z]{2,3}$/;
	if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
	if(isEmpty(s)) {
		if (!defaultEmpty) {
	               setFieldProperty(objField);
	               alert ("请输入 " + label_name+" .");
	               return false;
	        } else return true;
	}
	if (!str.test(s))  {
    	        setFieldProperty(objField);
	        alert(label_name+" 输入不合法,请输入正确的Email.");
	        return false;
        }
	return true;
}

function chkNum(objField,label_name,defaultEmpty) {
	if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
        var s = objField.value;
        if(isEmpty(s)) {
		if (!defaultEmpty) {
	               setFieldProperty(objField);
	               alert ("请输入 " + label_name+" .");
	               objField.value = "";
	               return false;
	        } else return true;
         }
         if (!isNum(s)) {
         	setFieldProperty(objField);
	        alert(label_name+" 输入不合法,只能输入数字.");
	        objField.value = "";
	        return false;
         }
         return true;
}

function chkCharNum(objField,label_name,defaultEmpty) {
    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
    var s = objField.value;
    if(isEmpty(s)) {
		if (!defaultEmpty) {
	               setFieldProperty(objField);
	               alert ("请输入 " + label_name+" .");
	               return false;
	        } else return true;
    }
    if (!isCharNum(s)) {
	    setFieldProperty(objField);
	    alert(label_name+" 输入不合法,只能输入数字和字母.");
	    return false;
    }
    return true;
}

function chkPhone(objField,label_name,defaultEmpty) {
    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
    var s = objField.value;
    var str=/^[0-9-;,]*$/;
    if(isEmpty(s)) {
		if (!defaultEmpty) {
	               setFieldProperty(objField);
	               alert ("请输入 " + label_name+" .");
	               return false;
	        } else return true;
    }
    if(s.length<6) {
    	    setFieldProperty(objField);
	    alert(label_name+" 输入不合法,请输入正确的电话号码.");
	    return false;
    }
    if(s.length>15) {
    	    setFieldProperty(objField);
	    alert(label_name+" 输入不合法, 不能大于15位.");
	    return false;
    }
    if (!str.test(s)) {
	    setFieldProperty(objField);
	    alert(label_name+" 输入不合法,请输入正确的电话号码.");
	    return false;
    }
    return true;
}

function chkPostCode(objField,label_name,defaultEmpty) {
    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
    var s = objField.value;
    if(isEmpty(s)) {
		if (!defaultEmpty) {
	               setFieldProperty(objField);
	               alert ("请输入 " + label_name+" .");
	               return false;
	        } else return true;
    }
    if(!isNum(s)||s.length!=6) {
      	    setFieldProperty(objField);
	    alert(label_name+" 输入不合法.");
	    return false;
    }
    return true;
}

function chkInteger(objField,label_name,defaultEmpty) {
    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
    var s = objField.value;
    if(isEmpty(s)) {
		if (!defaultEmpty) {
	               setFieldProperty(objField);
	               alert ("请输入 " + label_name+" .");
	               objField.value = ""
	               return false;
	        } else return true;
    }
    if (!reInteger.test(s) || parseInt(s,10)==0) {
    	        setFieldProperty(objField);
	        alert ("请在 " + label_name+" 中输入正整数.");
	        objField.value = "";
	        return false;
    }
    return true;
}

function chkWhiteSpace(objField,label_name) {
    var s = objField.value;
    if (isEmpty(s) || reWhitespace.test(s)) {
		setFieldProperty(objField);
		alert ("请输入 " + label_name+" .");
    	return false;
	}
	return true;
}

function chkFloat(objField,allow_len,dec,label_name,allow_zero,defaultEmpty,allowNegative) {
    if (typeof(defaultEmpty) == "undefined") defaultEmpty = true;
    if (typeof(allow_zero) == "undefined") allow_zero = true;
    if (typeof(allowNegative) == "undefined") allowNegative = false;

    var s = objField.value;
    var i;
    var floatErrMes = "";

    if(isEmpty(s)) {
	if (!defaultEmpty) {
		setFieldProperty(objField);
	        alert ("请输入 " + label_name+" .");
	        objField.value = "";
	        return false;
	} else return true;
    }

    for ( i=0; i<(allow_len-dec); i++) {
	     floatErrMes += "9";
	}
    floatErrMes +=".";
    for ( i=0; i<dec; i++) {
	     floatErrMes += "9";
    }

    //check numeric
    if ( isFloatNaN(s,label_name)) {
	    setFieldProperty(objField);
	    objField.value = "";
            return false;
    }

    s=s.toString();
    //check positive value
    if (!allowNegative) {
    	if (s.charAt(0) == '-') {
    	     setFieldProperty(objField);
	     alert("请在 " + label_name+" 中输入正数.");
	     objField.value = "";
	     return false;
    	}
    }


    if (!allow_zero && parseFloat(s) == 0) {
             setFieldProperty(objField);
	     alert("请在 " + label_name+" 中输入非零数字.");
	     objField.value = "";
	     return false;
    }

    //check if the length of the number is correct
    if (!isFloatLength(s,label_name,allow_len,dec,floatErrMes,allowNegative)) {
		 setFieldProperty(objField);
		 objField.value = "";
    	         return false;
    }
    // All characters are numbers.
    return true;
}

 function isFloatLength (s,label_name,allow_len, dec,floatErrMes,allowNegative) {
     var seenDecimalPoint = false;
     var isNegative = false;
     var posDecimalPoint;

     if (allowNegative) {
     	if (s.charAt(0) == '-') {
     		s = s.substring(1,s.length);
     		isNegative = true;
     	}
     }

     for (i = 0; i < s.length; i++) {
        // Check that current character is number.
        var c = s.charAt(i);
        if ((c == decimalPointDelimiter) && !seenDecimalPoint) {
        	seenDecimalPoint = true;
        	posDecimalPoint = i;
        	break;
        }
     } //End For

     if (seenDecimalPoint == true) {
    	if ((s.length - posDecimalPoint - 1) > dec || posDecimalPoint==(s.length-1)) { //right too long
        	alert("请在"+label_name+"中输入数字, 包括"+dec+"位小数.");
    		return false;
    	}
    	else if (posDecimalPoint > (allow_len - dec)	) { // left too long
    	        if (isNegative)
    	          alert("请注意 "+label_name+" 的值不能小于 -"+floatErrMes+".");
    	        else
        	  alert("请注意 "+label_name+" 的值不能大于 "+floatErrMes+".");
    		return false;

		} //else
    } else if (s.length > allow_len - dec) { // left too long
                if (isNegative)
    	          alert("请注意 "+label_name+" 的值不能小于 -"+floatErrMes+".");
    	        else
        	  alert("请注意 "+label_name+" 的值不能大于 "+floatErrMes+".");
    		return false;

    } //else
    return true;
 }

//is numeric?
function isFloatNaN (s,label_name) {
	if (isNaN(s)) {
  		alert("请在"+label_name+" 中输入数字.");
    	        return true;
        }
        return false;
}

//检验s是否是非负数字
function isNumeric(s){
	s = trim(s);
	if(s=="") return false;
	if(!isNaN(s) && s>0) return true;
	return false;
}

function setFieldProperty(objField) {
	if (objField.type.toLowerCase() != "hidden") {
		objField.focus();
	        objField.style.background=fieldbg;
	}
}

// 验证输入的日期
function strDateTime(str)
     {
        
		  if (str == "")
		  {
			  return true;
		  }
         var r = str.match(/^(\d{4})(-|\/)(\d{2})\2(\d{2})$/);
         if(r==null)return false;
		
         var d= new Date(r[1], r[3]-1, r[4]);
         return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
      }

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    javascript通用验证函数

    javascript 验证

    JavaScript通用验证优化版

    JavaScript通用验证优化版,对document的处理进行了优化

    完美JavaScript通用表单验证函数

    .net2005完美JavaScript通用表单验证函数,只需要包含此文件就可以实现验证功能.

    js通用表单验证代码

    本文将深入探讨“js通用表单验证代码”这一主题,以及如何利用JavaScript进行有效的表单验证。 首先,我们要理解JavaScript在表单验证中的角色。JavaScript是一种客户端脚本语言,它可以在用户的浏览器上运行,无需...

    注册通用验证器

    总的来说,“注册通用验证器”是一个全面的解决方案,涵盖了从前端到后端的验证过程,提供了用户输入的有效性和安全性检查。它简化了开发者的任务,提高了应用程序的安全性,同时也提升了用户体验。通过理解和使用...

    验证码通用模块 javascript版

    在这个“验证码通用模块 JavaScript版”中,我们关注的是使用JavaScript实现的客户端验证技术。 JavaScript是一种轻量级的解释型编程语言,广泛应用于网页和网络应用的前端开发。它允许我们在用户的浏览器端执行...

    Js 通用验证代码,实用的。

    "Js 通用验证代码"是一个可复用的解决方案,它旨在减少开发者在每个新项目中编写相同验证逻辑的工作量。 在描述中提到的"避免每次开发项目重复写代码",意味着这个通用验证代码库可能包含了各种常见的验证函数,如...

    web前段通用验证器common-validator-2.0.js

    一款灵活通用的JavaScript验证组件,支持灵活多样的验证方式。 此为2.0版本,是在1.0基础架构上做了全新的调整, 希望能通过这个JS验证器小组件为我们码农们提供微小的帮助。 1、启用创建Validator方式,不再使用...

    通用表单验证Jquery插件.rar

    通用表单验证Jquery插件是为了提高用户体验和数据安全而设计的。Jquery是一种强大的JavaScript库,它简化了JavaScript的DOM操作,事件处理,动画效果,以及Ajax交互。在这个场景中,我们关注的是Jquery在表单验证中...

    通用javascript表单验证

    这是一个通用的js表单验证,你只需要建立一个静态页面就可以实现表单数据的验证,运用的知识是正则表达式。

    JS通用表单验证函数1

    在实际应用中,使用这些通用验证函数可以极大地减少重复工作,提高代码的可维护性。它们通常会被封装在一个单独的JS文件中,通过调用函数的方式在表单提交前执行验证。例如: ```javascript function validateForm...

    validate 通用Ajax无刷新表单验证类(JavaScript)

    `validate`是一个通用的Ajax无刷新表单验证类,使用JavaScript编写,它允许在用户提交数据之前即时检查输入,无需刷新整个页面。这种技术大大提升了用户交互的流畅性,使得表单填写过程更加高效。 `validate`类的...

    Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述Web客户端统一验证JavaScript函数库组件概述

    Web客户端统一验证JavaScript函数库组件是前端开发中一个至关重要的工具,它主要用于在用户提交数据前进行实时的数据验证,确保输入的信息符合预期的格式和规则,从而提高用户体验并减轻服务器端的压力。JavaScript...

    使用JavaScript语言进行表单验证

    ### 使用JavaScript语言进行表单验证 #### JavaScript与表单验证的重要性 随着互联网技术的飞速发展,表单作为用户向服务器提交数据的主要方式之一,在现代Web应用中扮演着至关重要的角色。为了确保提交的数据准确...

    基于JavaScript的验证表单通用方案的设计与应用.pdf

    "基于JavaScript的验证表单通用方案的设计与应用" 一、引言 在Web应用中,表单是实现用户交互式访问的重要接口。通过添加JavaScript,可以增加表单的动态交互性、验证用户输入的数据等。本文将介绍一种基于...

    javascript,小程序,uni-app通用的验证类

    javascript,小程序,uni-app通用的验证类,内置常用的验证方法。。//使用用方法 /* *valit_rule验证规则 *value,验证数据form *true ,一次性全部检测完 / //var vali_result = validate.check(this.data.valit_rule,...

    通用的JS表单验证

    "通用的JS表单验证"这个主题聚焦于如何利用JavaScript来确保用户在网页表单中输入的数据符合预设的规则,从而提高数据质量和用户体验。下面我们将深入探讨这个话题。 首先,表单验证是网页开发中的关键部分,它能...

    js原型通用验证框架

    JavaScript原型通用验证框架是一种基于JavaScript设计模式的高效验证工具,其核心原理是利用JavaScript的原型(prototype)特性来实现对象的扩展与复用,从而达到代码的模块化和可维护性。这一框架广泛应用于Web开发...

Global site tag (gtag.js) - Google Analytics