⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 validator.js

📁 1、用SQL查询器打开install目录下的dooogo.sql运行之后创建数据库dooogo。 2、然后打开web.config修改 <DbProvider type="Club.Fram
💻 JS
📖 第 1 页 / 共 2 页
字号:
// JavaScript Document
/********************************************************************
主题:表单验证类(Dec.2005)
作者:(原作者)我佛山人/(续貂者)Issac
********************************************************************/

function Validator(xmlFile, xmlNode, msgCss) {
	this.Obj=null;
	this.xmlFile = xmlFile || "Javascript/validator.xml";
	this.xmlNode = xmlNode || "initMsg,errMsg,okMsg,msg,id,value";	//前三个为一级节点名,后一个为二级公用节点名
	this.initNode = this.xmlNode.split(",")[0].replace(/\s/gi,"");
	this.errNode = this.xmlNode.split(",")[1].replace(/\s/gi,"");
	this.okNode = this.xmlNode.split(",")[2].replace(/\s/gi,"");
	this.msgNode = this.xmlNode.split(",")[3].replace(/\s/gi,"");
	this.IdAttr = this.xmlNode.split(",")[4].replace(/\s/gi,"");
	this.ValueAttr = this.xmlNode.split(",")[5].replace(/\s/gi,"");
	this.msgCss = msgCss || "valMsgInit,valMsgFocus,valMsgErr,valMsgOk";
	var _initCss = this.msgCss.split(",")[0].replace(/\s/gi,"");
	var _focusCss = this.msgCss.split(",")[1].replace(/\s/gi,"");
	var _errCss = this.msgCss.split(",")[2].replace(/\s/gi,"");
	var _okCss = this.msgCss.split(",")[3].replace(/\s/gi,"");
	if (window.ActiveXObject)	//For IE
		this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
	else if (document.implementation&&document.implementation.createDocument)	//For Mozilla
		this.xmlDoc=document.implementation.createDocument("","doc",null);
	else {
		alert("很抱歉,您的浏览器暂不支持该脚本,建议使用IE6!");
		return;
	}
	this.xmlDoc.async = false;
	this.xmlDoc.preserveWhiteSpace = true;
	this.xmlDoc.load(this.xmlFile);
	this.InitNode = this.xmlDoc.getElementsByTagName(this.initNode)[0].getElementsByTagName(this.msgNode);
	this.ErrNode = this.xmlDoc.getElementsByTagName(this.errNode)[0].getElementsByTagName(this.msgNode);
	this.OkNode = this.xmlDoc.getElementsByTagName(this.okNode)[0].getElementsByTagName(this.msgNode);
	this.InitPage = function(theForm) {
		var obj = theForm || document.forms[0];
		var count = obj.elements.length;
		for (var i=0; i<count; i++)
			with (obj.elements[i]) {
				if (typeof(getAttribute("msg"))=="object"||getAttribute("msg").split(",").length!=4)
					continue;
				var _msgId = getAttribute("msg").split(",")[0].replace(/\s/gi,"");
				var _initMsg = getAttribute("msg").split(",")[1].replace(/\s/gi,"");
				var _errMsg = getAttribute("msg").split(",")[2].replace(/\s/gi,"");
				var _okMsg = getAttribute("msg").split(",")[3].replace(/\s/gi,"");
				if (_msgId=="")
					continue;
				setAttribute("msgId",_msgId);
				if (_initMsg=="")
					setAttribute("initMsg","");
				else
					for (var j=0; j<this.InitNode.length; j++)
						if (this.InitNode[j].getAttribute(this.IdAttr)==_initMsg) {
							setAttribute("initMsg",this.InitNode[j].getAttribute(this.ValueAttr));
							break;
						}
				if (_errMsg=="")
					setAttribute("errMsg","");
				else
					for (j=0; j<this.ErrNode.length; j++)
						if (this.ErrNode[j].getAttribute(this.IdAttr)==_errMsg) {
							setAttribute("errMsg",this.ErrNode[j].getAttribute(this.ValueAttr));
							break;
						}
				if (_okMsg=="")
					setAttribute("okMsg","");
				else
					for (j=0;j<this.OkNode.length; j++)
						if (this.OkNode[j].getAttribute(this.IdAttr)==_okMsg) {
							setAttribute("okMsg",this.OkNode[j].getAttribute(this.ValueAttr));
							break;
						}
				with (document.getElementById(getAttribute("msgId"))) {
					innerHTML = obj.elements[i].getAttribute("initMsg");
					className = _initCss;
					obj.elements[i].onfocus = function() {
						className = (className==_initCss)?_focusCss:className;
					}
					obj.elements[i].onblur = function() {
						className = (className==_focusCss)?_initCss:className;
						//obj.elements[i].value = obj.elements[i].value.replace(/<[^<]+>/gi,"");	//No HTML Tag
					}
					style.display = (innerHTML=="")?"none":"block";
				}
			}
	};
	/***以下主要参见于我佛山人-Validator1.05***/
	/*Validator.Properties(属性)*/
	this.Chinese =  /^[\u0391-\uFFE5]+$/;
	this.Currency = /^\d+(\.\d+)?$/;
	this.Double = /^[-\+]?\d+(\.\d+)?$/;
	this.Email = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	this.IEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
	this.English = /^[A-Za-z]+$/;
	this.Integer = /^[-\+]?\d+$/;
	this.Mobile = /^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$/;
	this.Number = /^\d+$/;
	this.Password = /^[\w!@#\$%\^&\*\(\)]{6,20}$/;
	this.UnSafe = /^(([A-Z]*|[a-z]*|\d*|[\~!@#\$%\^&\*\(\)-_=+\\\|\[\]\{\};:\'\",\.<>\/\?]*)|.{0,5})$|\s/;
	this.LowSafe = /^([A-Za-z]+|\d+|[_!@#\$%\^&\*\(\)]+)$/;
	this.MidSafe = /^([A-Za-z0-9]+|[A-Za-z_!@#\$%\^&\*\(\)]+|[\d_!@#\$%\^&\*\(\)]+)$/;
	this.HighSafe = /^([\w!@#\$%\^&\*\(\)]+)$/;
	this.Phone = /^(0{0,2}[1-9]\d{0,3}-)?(0?[1-9]\d{1,2}-)?[1-9]\d{6,7}(-\d{1,4})?(,[1-9]\d{6,7}(-\d{1,4})?)*$/;
	this.PhoneCountry = /^0{0,2}[1-9]\d{0,3}$/;
	this.PhoneArea = /^0?[1-9]\d{1,2}$/;
	this.PhoneNum = /^[1-9]\d{6,7}(-\d{1,4})?(,[1-9]\d{6,7}(-\d{1,4})?)*$/;
	this.QQ = /^[1-9]\d{4,8}$/;
	this.Require = /.+/;
	this.Url = /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?$/;
	this.Username = /^\w{4,20}$/;
	this.Zip = /^[1-9]\d{5}$/;
	this.Range = "getAttribute('min') < (value|0) && (value|0) < getAttribute('max')";
	this.Repeat = "value == document.getElementById(getAttribute('to')).value";
	this.Limit = "this.limit(value.length,getAttribute('min'), getAttribute('max'))";
	this.LimitB = "this.limit(this.LenB(value), getAttribute('min'), getAttribute('max'))";
	this.Custom = "this.Exec(value, getAttribute('regexp'))";
	this.Compare = "this.compare(value,getAttribute('operator'),getAttribute('to'))";
	this.SafeString = "this.IsSafe(value)";
	this.IdCard = "this.IsIdCard(value)";
	this.Date = "this.IsDate(value, getAttribute('min'), getAttribute('format'))";
	this.Group = "this.MustChecked(getAttribute('name'), getAttribute('min'), getAttribute('max'))";
	this.Filter = "this.DoFilter(value, getAttribute('accept'))";
	this.Count = "this.DoCount(obj)";
	this.SafeLevel = "this.DoSafeLevel(obj)";
	this.ErrorItem = [document.forms[0]];
	this.ErrorMessage = ["以下原因导致提交失败:\t\t\t\t"];
	/*Validator.Methods(方法)*/
	this.ValSubmit = function(theForm){
		var obj = theForm || event.srcElement;
		var count = obj.elements.length;
		this.ErrorMessage.length = 1;
		this.ErrorItem.length = 1;
		this.ErrorItem[0] = obj;
		for(var i=0;i<count;i++)
			with(obj.elements[i]){
				var _dataType = getAttribute("dataType");
				if(typeof(_dataType) == "object" || typeof(this[_dataType]) == "undefined")
					continue;
				this.ClearState(obj.elements[i]);
				if(getAttribute("require") == "false" && value == "")
					continue;
				this.SwitchType(obj.elements[i],i);
			}
		if(this.ErrorMessage.length > 1){
			var errCount = this.ErrorItem.length;
			this.ErrorItem[1].focus();
			return false;
		}
		return true;
	};
	this.ValChange = function (theField) {
		var obj = theField || event.srcElement;
		with(obj){
			var _dataType = getAttribute("dataType");
			if(typeof(_dataType) == "object" || typeof(this[_dataType]) == "undefined")
				return;
			if(getAttribute("require") == "false" && value == "")
				return;
			this.SwitchType(obj);
		}
	};
	this.SwitchType = function (obj, i) {
		with (obj) {
			if (i==null && typeof(getAttribute("disChanged"))=="string")
				return;
			var _dataType = getAttribute("dataType"); 
			var oMsgDiv = document.getElementById(getAttribute("msgId"));
			switch(_dataType){
				case "IdCard" :
				case "Date" :
				case "Repeat" :
				case "Range" :
				case "Compare" :
				case "Custom" :
				case "Group" :
				case "Limit" :
				case "LimitB" :
				case "SafeString" :
				case "Filter" :
					if(!eval(this[_dataType])) {
						oMsgDiv.innerHTML = getAttribute("errMsg") + getAttribute("initMsg");
						oMsgDiv.className = _errCss;
						if (i!=null)
							this.AddError(i, getAttribute("errMsg")+getAttribute("initMsg"));
					}
					else {
						oMsgDiv.innerHTML = getAttribute("okMsg");
						oMsgDiv.className = _okCss;
					}
					break;
				case "Username":
					if(!this[_dataType].test(value)) {
						oMsgDiv.innerHTML = getAttribute("errMsg") + getAttribute("initMsg");
						oMsgDiv.className = _errCss;
						if (i!=null)
							this.AddError(i, getAttribute("errMsg")+getAttribute("initMsg"));
					}
					else if(IsExistUserName(this.Obj)){
						oMsgDiv.innerHTML = "当前用户名已存在,请重新填写!";
						oMsgDiv.className = _errCss;
						if (i!=null)
							this.AddError(i, getAttribute("errMsg")+getAttribute("initMsg"));
					}
					else {
						oMsgDiv.innerHTML = getAttribute("okMsg");
						oMsgDiv.className = _okCss;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -