String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g, "");}; function _valForm(form,befaultCallback,afterCallback,isAlert){ var _elements; if(form.tagName&&form.tagName.toUpperCase()=="FORM"){ _elements=form.elements; }else if(typeof form=="object"){ _elements=form; } if(_elements){ var _type,_value,_nonull,_maxlen,_reg,_message; var _msg=""; for(var i=0;i<_elements.length;i++){ if(",hidden,text,select-one,textarea,password,file,".indexOf(","+_elements[i].type+",")==-1){ continue; } _value=_elements[i].value.trim() || ""; _type=_elements[i].getAttribute("datatype") || "string"; _nonull=_elements[i].getAttribute("nonull") || "no"; _maxlen=_elements[i].getAttribute("maxlength") || "0"; _minlen=_elements[i].getAttribute("minlength") || "0"; _reg=_elements[i].getAttribute("reg") || false; _message=_elements[i].getAttribute("message") || false; if(_value.length==0){ if(_nonull=='y'){ _msg = (_elements[i].type=='select-one') ? '没有选择!' : '不能为空!'; break; } continue; } if(_reg&&_message) { if((!new RegExp(_reg).test(_value))) { _msg=_message; break; } } if("date"==_type){ if(!_value.isDate()){_msg="不是合法的日期!";break;} } if("time"==_type){ if(!_value.isTime()){_msg="不是合法的时间(hh:mm)!";break;} } if("int"==_type){ if(!_value.isInt()){_msg="不是合法的数字!";break;} } if("email"==_type){ if(!_value.isEmail()){_msg="不是合法的Email!";break;} } if("phone"==_type){ if(!_value.isPhone()){_msg="不是合法的电话号码!";break;}; } if("price"==_type){ if(!_value.isPrice()){_msg="不是合法金额!";break;}; } if("mobile"==_type){ if(!_value.isMobile()){_msg="不是合法手机号码!";break;}; } if("zipcode"==_type){ if(!_value.isZipcode()){_msg="不是合法的邮政编码!";break;}; } if("idcard"==_type){ if(!_value.isIdcard()){_msg="不是合法的身份证号码!";break;}; } if("cn"==_type){ if(!_value.isCH()){_msg="必须为中文!";break;}; } if("en"==_type){ if(!_value.isEN()){_msg="必须为英文!";break;}; } if(getByteLength(_value)parseInt(_maxlen)){ _msg="超过规定的字节数:"+_maxlen+"!(中文字符为两个字节)"; break; } } if(_msg.length==0) { return true; } var _errFld=_elements[i]; var _title=_errFld.getAttribute("title"); _msg="尊敬的用户," + _title + _msg; if(befaultCallback) { befaultCallback(); } if(isAlert){ alert(_msg); }else{ msgAlert(_msg,afterCallback); } if(_errFld.type!="hidden") { /*try{_errFld.focus();} catch(e){return false;}*/ } return false; } } /**校检数字 on key**/ function keyInt(){ if(event.keyCode < 48 || event.keyCode > 57){ return false; } } /**校检日期**/ String.prototype.isDate=function(){ var d=new Date(this.replace(/-/g,"/")); if(isNaN(d)) { return false; } var str=d.getFullYear()+"-"+fixToTen(d.getMonth()+1)+"-"+fixToTen(d.getDate()); var fixThis=this; if(fixThis.length<10) { var tempArray=fixThis.split('-'); fixThis=tempArray[0]+'-'+fixToTen(tempArray[1])+'-'+fixToTen(tempArray[2]); } if(str!=fixThis) { return false; } return true; } function fixToTen(d) { if(d<10) { return '0'+d; } else { return d; } } /**校检时间**/ String.prototype.isTime=function(){ return !isNaN(new Date("2000/01/01 "+this)); } /**校检Email**/ String.prototype.isEmail=function(){ return (new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(this)); } /**校检电话**/ String.prototype.isPhone=function(){ return (new RegExp(/^([0-9]|[-()#转]){8,20}$/).test(this)); } /**校检手机号码**/ String.prototype.isMobile=function(){ if(this.indexOf("13")==0||this.indexOf("15")==0||this.indexOf("18")==0){ return (new RegExp(/^([0-9]){11}$/).test(this)); } //return (new RegExp(/^([0-9]){8,20}$/).test(this)); return false; } /**校检中文**/ String.prototype.isCH=function(){ return (new RegExp(/^[\u4E00-\u9FA5]+$/g).test(this)); } /**校检英文**/ String.prototype.isEN=function(){ return (new RegExp(/^[A-Za-z]+$/).test(this)); } /**校检数字**/ String.prototype.isInt=function(){ return !isNaN(this.replace(".","No")); } /**校检小数**/ String.prototype.isPrice=function(){ return !isNaN(this); } /** 检测邮政编码**/ String.prototype.isZipcode=function(){ return (new RegExp(/^(\d){6}$/).test(this)); }; /** 18位身份证 **/ String.prototype.isIdcard=function(){ var reg = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})(\w)$/); var arrStr = this.match(reg); if(arrStr){ try{ var date = new Date(arrStr[2]+"/"+arrStr[3]+"/"+arrStr[4]); }catch(e){ return false; } if(date.getFullYear()==arrStr[2]&&(date.getMonth()+1)==arrStr[3]&&date.getDate()==arrStr[4]){ return true; } } return false; }; //判断是否是联通手机号码 String.prototype.isUnicomMobile=function(){ return new RegExp(/^1(30|31|32|33|86|55|56)[0-9]{8}$/).test(this); } //校验网站域名 String.prototype.isWebSite=function(){ return new RegExp(/^\w+:\/\/?[^\.]+\.[^\:]+\/$/).test(this); }