JS 인증 클래스
8370 단어 J#
//
Validate.validate = function(){
var eleArray = document.getElementsByTagName("*");
var i;
for (i = 0; i < eleArray.length; i++){
if (eleArray[i].type == 'text'){
var v = new Validate();
if (v.validateTest(eleArray[i]) == false){
return false;
}
}
if (eleArray[i].type == 'select-one'){
var v = new Validate();
if (v.validateSelect(eleArray[i]) == false){
return false;
}
}
if (eleArray[i].type == 'textarea'){
var v = new Validate();
if (v.validateTextarea(eleArray[i]) == false){
return false;
}
}
if (eleArray[i].type == 'radio'){
var v = new Validate();
if (v.validateRadio(eleArray[i]) == false){
return false;
}
}
if (eleArray[i].type == 'checkbox'){
var v = new Validate();
if (v.validateCheck(eleArray[i]) == false){
return false;
}
}
}
return true;
}
//
function Validate(){
this.INTEGER = 'integer'; //
this.FLOAT = 'float'; //
this.EMAIL = 'email'; //email
this.URL = 'url'; //url
this.PHONENUM = 'phonenum'; // 0511-4405222 010-87888822
this.POSTAL = 'postal'; //
this.IDCARD = 'idcard'; //
this.IP = 'ip'; //IP
// text
this.validateTest = function(obj){
var vu = new ValidateUtil();
//
if (obj.attributes.isNull != null){
if (obj.attributes.isNull.value == 'false'){
if (vu.isNull(obj) == false){
return false;
}
}
}
//
if (obj.attributes.dataType != null){、
//
if (obj.attributes.dataType.value == this.INTEGER){
if (vu.isInteger(obj) == false){
return false;
}
}
//
if (obj.attributes.dataType.value == this.FLOAT){
if (vu.isFloat(obj) == false){
return false;
}
}
//email
if (obj.attributes.dataType.value == this.EMAIL){
var strP = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if (vu.validateDataType(obj, strP) == false){
return false;
}
}
//url
if (obj.attributes.dataType.value == this.URL){
//var strP=/^(http\:\/\/)?([\w.]+)(\/[\w-\.\/\?%&=]*)?$/;
//if (vu.validateDataType(obj, strP) == false){
// return false;
//}
}
// 0511-4405222 010-87888822
if (obj.attributes.dataType.value == this.PHONENUM){
var strP = /^\d{3}-\d{8}|\d{4}-\d{7}$/;
if (vu.validateDataType(obj, strP) == false){
return false;
}
}
//
if (obj.attributes.dataType.value == this.POSTAL){
var strP = /^[1-9]\d{5}(?!\d)$/;
if (vu.validateDataType(obj, strP) == false){
return false;
}
}
//
if (obj.attributes.dataType.value == this.IDCARD){
var strP = /^\d{15}|\d{18}$/;
if (vu.validateDataType(obj, strP) == false){
return false;
}
}
//IP
if (obj.attributes.dataType.value == this.IP){
var strP = /^\d+\.\d+\.\d+\.\d+$/;
if (vu.validateDataType(obj, strP) == false){
return false;
}
}
}
return true;
}
// textarea
this.validateTextarea = function(obj){
var vu = new ValidateUtil();
if (obj.attributes.isNull != null){
if (obj.attributes.isNull.value == 'false'){
return vu.isNull(obj);
}
}
}
// select
this.validateSelect = function(obj){
var vu = new ValidateUtil();
if (obj.attributes.isNull != null){
if (obj.attributes.isNull.value == 'false'){
return vu.isNull(obj);
}
}
}
// radio
this.validateRadio = function(obj){
var vu = new ValidateUtil();
if (obj.attributes.isNull != null){
if (obj.attributes.isNull.value == 'false'){
var radioObj = document.getElementsByName(obj.attributes.name.value);
return vu.isNullRadio_CheckBox(radioObj);
}
}
}
// checkbox
this.validateCheck = function(obj){
var vu = new ValidateUtil();
if (obj.attributes.isNull != null){
if (obj.attributes.isNull.value == 'false'){
var boxObj = document.getElementsByName(obj.attributes.name.value);
//alert(vu.isNullRadio_CheckBox(boxObj));
return vu.isNullRadio_CheckBox(boxObj);
}
}
}
}
//
function ValidateUtil(){
//
this.isInteger = function(obj){
if (obj.value == ''){
return true;
}
var strP=/^\d+$/;
if(!strP.test(obj.value)){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_integer").value);
obj.focus();
return false;
}
try{
if(parseInt(obj.value)!=obj.value){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_integer").value);
obj.focus();
return false;
}
}catch(ex){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_integer").value);
obj.focus();
return false;
}
return true;
}
//
this.isFloat = function(obj){
var strP=/^\d+(\.\d+)?$/;
if(!strP.test(obj.value)){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_float").value);
obj.focus();
return false;
}
try{
if(parseInt(oNum)!=obj.value){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_float").value);
obj.focus();
return false;
}
}catch(ex){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_must_float").value);
obj.focus();
return false;
}
return true;
}
// NULL
this.isNull = function(obj){
if (obj.type=='text' || obj.type == 'textarea'){
if(obj.value==''){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_not_allow_null").value);
obj.focus();
return false;
}
}else if (obj.type == 'select-one'){
if (obj.options.selectedIndex == 0){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("is_not_allow_null").value);
obj.focus();
return false;
}
}
return true;
}
// NULL
this.isNullRadio_CheckBox = function(objArray){
for (j = 0; j < objArray.length; j++){
if (objArray[j].checked == true){
return true;
}
}
alert((objArray[0].attributes.sname == null ? objArray[0].attributes.name.value : objArray[0].attributes.sname.value) + document.getElementById("is_not_allow_null").value);
objArray[0].focus();
return false;
}
//
this.validateDataType = function(obj, pattern){
if(!pattern.test(obj.value)){
alert((obj.attributes.sname == null ? obj.attributes.name.value : obj.attributes.sname.value) + document.getElementById("format_wrong").value);
obj.focus();
return false;
}
return true;
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JS 동적 추가 삭제 테이블텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.