📄 validator.js
字号:
}
break;
case "Email":
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(IsExistEmail(this.Obj)){
oMsgDiv.innerHTML = "当前Email已注册过,请使用另外Email注册!";
oMsgDiv.className = _errCss;
if (i!=null)
this.AddError(i, getAttribute("errMsg")+getAttribute("initMsg"));
}
else {
oMsgDiv.innerHTML = getAttribute("okMsg");
oMsgDiv.className = _okCss;
}
break;
default :
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 {
oMsgDiv.innerHTML = getAttribute("okMsg");
oMsgDiv.className = _okCss;
}
break;
}
oMsgDiv.style.display = (oMsgDiv.innerHTML=="")?"none":"block";
}
};
this.BindKey = function(theField) {
var obj = theField || event.srcElement;
with (obj) {
var _keyEvent = getAttribute("keyEvent");
var _keyObj = getAttribute("keyObj");
if(typeof(_keyEvent) == "object" || typeof(this[_keyEvent]) == "undefined")
return;
if(typeof(_keyObj) == "object" || document.getElementById(_keyObj)=="null")
return;
eval(this[_keyEvent]);
}
};
this.limit = function(len,min,max){
min = min || 0;
max = max || Number.MAX_VALUE;
return min <= len && len <= max;
};
this.LenB = function(str){
return str.replace(/[^\x00-\xff]/g,"**").length;
};
this.ClearState = function(elem){
/*with(elem){...}*/
};
this.AddError = function(index, str){
this.ErrorItem[this.ErrorItem.length] = this.ErrorItem[0].elements[index];
this.ErrorMessage[this.ErrorMessage.length] = this.ErrorMessage.length + ":" + str;
};
this.Exec = function(op, reg){
return new RegExp(reg,"g").test(op);
};
this.compare = function(op1,operator,op2){
switch (operator) {
case "NotEqual":
return (op1 != op2);
case "GreaterThan":
return (op1 > op2);
case "GreaterThanEqual":
return (op1 >= op2);
case "LessThan":
return (op1 < op2);
case "LessThanEqual":
return (op1 <= op2);
default:
return (op1 == op2);
}
};
this.IsSafe = function(str){
return !this.UnSafe.test(str);
};
this.IsIdCard = function(number){
var date, Ai;
var verify = "10x98765432";
var Wi = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
var area = ['','','','','','','','','','','','北京','天津','河北','山西','内蒙古','','','','','','辽宁','吉林','黑龙江','','','','','','','','上海','江苏','浙江','安微','福建','江西','山东','','','','河南','湖北','湖南','广东','广西','海南','','','','重庆','四川','贵州','云南','西藏','','','','','','','陕西','甘肃','青海','宁夏','新疆','','','','','','台湾','','','','','','','','','','香港','澳门','','','','','','','','','国外'];
var re = number.match(/^(\d{2})\d{4}(((\d{2})(\d{2})(\d{2})(\d{3}))|((\d{4})(\d{2})(\d{2})(\d{3}[x\d])))$/i);
if(re == null)
return false;
if(re[1] >= area.length || area[re[1]] == "")
return false;
if(re[2].length == 12){
Ai = number.substr(0, 17);
date = [re[9], re[10], re[11]].join("-");
}
else{
Ai = number.substr(0, 6) + "19" + number.substr(6);
date = ["19" + re[4], re[5], re[6]].join("-");
}
if(!this.IsDate(date, "ymd"))
return false;
var sum = 0;
for(var i = 0;i<=16;i++)
sum += Ai.charAt(i) * Wi[i];
Ai += verify.charAt(sum%11);
return (number.length ==15 || number.length == 18 && number == Ai);
};
this.IsDate = function(op, formatString){
formatString = formatString || "ymd";
var m, year, month, day;
switch(formatString){
case "ymd" :
m = op.match(new RegExp("^((\\d{4})|(\\d{2}))([-./])(\\d{1,2})\\4(\\d{1,2})$"));
if(m == null )
return false;
day = m[6];
month = m[5]*1;
year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
break;
case "dmy" :
m = op.match(new RegExp("^(\\d{1,2})([-./])(\\d{1,2})\\2((\\d{4})|(\\d{2}))$"));
if(m == null )
return false;
day = m[1];
month = m[3]*1;
year = (m[5].length == 4) ? m[5] : GetFullYear(parseInt(m[6], 10));
break;
default :
break;
}
if(!parseInt(month))
return false;
month = month==0 ?12:month;
var date = new Date(year, month-1, day);
return (typeof(date) == "object" && year == date.getFullYear() && month == (date.getMonth()+1) && day == date.getDate());
function GetFullYear(y){
return ((y<30 ? "20" : "19") + y)|0;
}
};
this.MustChecked = function(name, min, max){
var groups = document.getElementsByName(name);
var hasChecked = 0;
min = min || 1;
max = max || groups.length;
for(var i=groups.length-1;i>=0;i--)
if(groups[i].checked)
hasChecked++;
return min <= hasChecked && hasChecked <= max;
};
this.DoFilter = function(input, filter){
return new RegExp("^.+\.(?=EXT)(EXT)$".replace(/EXT/g, filter.split(/\s*,\s*/).join("|")), "gi").test(input);
};
this.DoCount = function(obj) {
var obj = obj || event.srcElement;
var _max = obj.getAttribute("max") || Number.MAX_VALUE;
this.countLength = function () {
return (obj.getAttribute("dataType")=="LimitB") ? this.LenB(obj.value) : obj.value.length;
}
this.countLimit = function() {
if (obj.getAttribute("dataType")=="LimitB") {
var cn = obj.value.replace(/[^\x00-\xff]/g,"#^").split("#^").length-1;
return obj.value.substring(0, _max-cn);
}
else
return obj.value.substring(0, _max-1);
}
if (this.countLength() > _max) {
alert("对不起,您最多可录入"+_max+"字,请删减!");
obj.value = this.countLimit();
obj.focus();
}
document.getElementById(obj.getAttribute("keyObj")).value = this.countLength();
};
this.DoSafeLevel = function(obj) {
var obj = obj || event.srcElement;
this.WhichLevel = function () {
var safeArray = ["LowSafe","MidSafe","HighSafe"];
for (var i=0; i<safeArray.length; i++)
if (this[safeArray[i]].test(obj.value))
return safeArray[i];
return "Error";
}
with (document.getElementById(obj.getAttribute("keyObj")))
switch (this.WhichLevel()) {
case "LowSafe":
className = "LowSafe";
innerHTML = "<span>不安全</span>";
break;
case "MidSafe":
className = "MidSafe";
innerHTML = "<span>普通</span>";
break;
case "HighSafe":
className = "HighSafe";
innerHTML = "<span>安全</span>";
break;
default:
className = "";
innerHTML = "<span>密码安全性检查</span>";
break;
}
};
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -