1,使用
//對(duì)象是否 存在 function isObj(str) { if(str==null||typeof(str)=='undefined') return false; return true; } //去除字符串中的空格 function strTrim(str) { if(!isObj(str)) return 'undefined'; str=str.replace(/^\s+|\s+$/g,''); return str; } //為空 function isNull(str) { if(!isObj(str)) return 'undefined'; //alert("*"+str+"*"); str=strTrim(str); //alert("*"+str+"*"); if(str.length>0) return false; return true; } //必需是整數(shù) function isInt(str){ var reg = /^(-|\+)?\d+$/ ; return reg.test(str); } //必需是小數(shù) function isFloat(str){ if(isInt(str)) return true; var reg = /^(-|\+)?\d+\.\d*$/; return reg.test(str); } //小數(shù)或者為空 function isFloatOrNull(str){ if(!isObj(str))//判 斷對(duì)象是否存在 return 'undefined'; if(isInt(str)) return true; return isNull(str)||isFloat(str); }
function toDecimal2(x) { if(isNull(x)){ var f = 0; }else{ var f = parseFloat(x); } if (isNaN(f)) { return false; } var f = Math.round(x*100)/100; var s = f.toString(); var rs = s.indexOf('.'); if (rs < 0) { rs = s.length; s += '.'; } while (s.length <= rs + 2) { s += '0'; } return s; }
2參考 - //保留兩位小數(shù)
- //功能:將浮點(diǎn)數(shù)四舍五入,取小數(shù)點(diǎn)后2位
- function toDecimal(x) {
- var f = parseFloat(x);
- if (isNaN(f)) {
- return;
- }
- f = Math.round(x*100)/100;
- return f;
- }
/**********************一。驗(yàn)證類(lèi)*****************************/ //對(duì)象是否 存在 function isObj(str) { if(str==null||typeof(str)=='undefined') return false; return true; } //去除字符串中的空格 function strTrim(str) { if(!isObj(str)) return 'undefined'; str=str.replace(/^\s+|\s+$/g,''); return str; } /**********************1數(shù)字驗(yàn) 證******************************/ //1。1整數(shù) //整數(shù)或者為空 function isIntOrNull(str){ if(!isObj(str))//判斷對(duì)象是否存在 return 'undefined'; return isNull(str)||isInt(str); } //必需是整數(shù) function isInt(str){ var reg = /^(-|\+)?\d+$/ ; return reg.test(str); } //1.2 小數(shù) //小數(shù)或者為空 function isFloatOrNull(str){ if(!isObj(str))//判 斷對(duì)象是否存在 return 'undefined'; if(isInt(str)) return true; return isNull(str)||isFloat(str); } //必需是小數(shù) function isFloat(str){ if(isInt(str)) return true; var reg = /^(-|\+)?\d+\.\d*$/; return reg.test(str); } //1.3 數(shù)字大小判斷 //數(shù)i不能大于數(shù)y function iMinY(i , y){ if(!isObj(i)||!isObj(y))// 判斷對(duì)象是否存在 return 'undefined'; if(!(isFloat(i)&&isFloat(y))) return '比較的必須是數(shù)字類(lèi)型' if(i<=y) return true; return false; } // 數(shù)i不能小于數(shù)y function iMaxY(i , y){ if(!isObj(i)||!isObj(y))//判斷對(duì)象是 否存在 return 'undefined'; if(!(isFloat(i)&&isFloat(y))) return '比較的必須是數(shù)字類(lèi)型' if(i>=y) return true; return false; } /**********************1 數(shù)字驗(yàn)證******************************/ /**********************2時(shí)間類(lèi)驗(yàn)證******************************/ //2.1 短時(shí)間,形如 (13:04:06) function shortTimeCheck(str) { if(!isObj(str))// 判斷對(duì)象是否存在 return 'undefined'; var a = str.match(/^(\d{1,2})(:)?(\d{1,2})\2(\d{1,2})$/); //var a = str.match(/^\d{1,2}:\d{1,2}:\d{1,2}$/); if (a == null) { alert(" 輸入的參數(shù)不是時(shí)間格式"); return false; } if (a[1]>24 || a[3]>60 || a[4]>60) { alert("時(shí)間格式不對(duì)"); return false } return true; } //2.2 短日期,形如 (2003-12-05) function shorDateCheck(str) { var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,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]); } //2.3 長(zhǎng)時(shí)間,形如 (2003-12-05 13:04:06) function longDateCheck(str) { var reg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/; var r = str.match(reg); if(r==null) return false; var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); return
(d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]); } //2.4 只有年和月。形如(2003-05,或者2003-5) //2.5 只有小時(shí)和分鐘,形如(12:03) /**********************2時(shí)間類(lèi)驗(yàn)證******************************/ /**********************3表單類(lèi)驗(yàn)證******************************/ //3.1 所有的表單的值都不能為空,對(duì)象內(nèi)容是否為空 function isNull(str) { if(!isObj(str)) return 'undefined'; //alert("*"+str+"*"); str=strTrim(str); //alert("*"+str+"*"); if(str.length>0) return false; return true; } //3.2 多行文本框的值不能為空。 //3.3 多行文本框的值不能超過(guò)sMaxStrleng function sMaxStrleng(str,len) { if(!isObj(str)) return 'undefined'; str=strTrim(str); if(str.length>len) return false; return true; } //3.4 多行文本框的值不能少于sMixStrleng function sMixStrleng(str,len) { if(!isObj(str)) return 'undefined'; str=strTrim(str); if(str.length<len) return false; return true; } //3.5 判斷單選框是否選擇。 //3.6 判斷復(fù)選框是否選擇. //3.7 復(fù)選框的全選,多選,全不選,反選 //3.8 文件上傳過(guò)程中判斷文件類(lèi)型 function upLoadFileType(str) { return str.match(/^(.*)(\.)(.{1,8})$/)[3]; } /**********************3表單類(lèi) 驗(yàn)證******************************/ /**********************4字符類(lèi)驗(yàn)證******************************/
//4.1 判斷字符全部由a-Z或者是A-Z的字字母組成 function isLetter(str) { if(!isObj(str)) return 'undefined'; str=strTrim(str); var reg = /^[a-zA-Z]+$/g; return reg.test(str) }
//4.2 判斷字符由字母和數(shù)字組成。 function isLetterOrNum(str) { if(!isObj(str)) return 'undefined'; str=strTrim(str); var reg = /^[0-9a-zA-Z]+$/g; return reg.test(str) } //4.3 判斷字符由字母和數(shù)字,下劃線,點(diǎn)號(hào)組成.且開(kāi)頭的只能是下劃線和字母 function isLegalityName(str) { if(!isObj(str)) return 'undefined'; str=strTrim(str); var reg = /^([a-zA-z_]{1})([A-Za-z0-9_\.]*)$/g; return reg.test(str) } // /^([a-zA-z_]{1})([\w]*)$/g.test(str) //4.4 字符串替換函數(shù).Replace(); /**********************4 字符類(lèi)驗(yàn)證******************************/ /**********************5瀏覽器類(lèi)******************************/ //5.1 判斷瀏覽器的類(lèi)型 function getIEType() { return window.navigator.appName; } //5.2 判斷ie的版本 function getIEVersion() { return window.navigator.appVersion; } //5.3 判斷客戶端的分辨率 function getResolvingPower() { return window.screen.height+"*"+window.screen.width; } /**********************5 瀏覽器類(lèi)******************************/ /**********************6綜合類(lèi)******************************/ //6.1 email的判斷。 function isMail(mail) { return(new RegExp(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test(mail)); } //6.2 手機(jī)號(hào)碼的驗(yàn)證 function isCellPhoneNum(num) { if(isNaN(num)) { alert("輸入的不是數(shù)字!"); return false; } var len = num.length; if(len!=11) { return false; } return true; } //6.3 身份證的驗(yàn)證 function isIdCardNo(num) { if(isNaN(num)) { alert("輸入的不是數(shù)字!"); return false; } var len = num.length; if (len == 15) re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/); else if(len == 18) re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/); else { alert("輸入的數(shù)字位數(shù)不對(duì)!"); return false; } var a = num.match(re); if (a != null) { if (len==15) { var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]); var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } else { var D = new Date(a[3]+"/"+a[4]+"/"+a[5]); var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5]; } if (!B) { alert("輸入的身份證號(hào) "+ a[0] +" 里出生日期不對(duì)!"); return false; } } return true; } //身份證嚴(yán)格驗(yàn)證 function IdCardNoCheck(sId){ var
aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",21:"遼寧",22:"吉林",23:"黑龍
江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖
北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西
藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺(tái)灣",81:"香港",82:"澳門(mén)",91:"國(guó)
外"} var iSum=0 var info="" if(!/^\d{17}(\d|x)$/i.test(sId)) return false; sId=sId.replace(/x$/i,"a"); if(aCity[parseInt(sId.substr(0,2))]==null)return "Error:非法地區(qū)"; sBirthday=sId.substr(6,4)+"-"+Number(sId.substr(10,2))+"-"+Number(sId.substr(12,2)); var d=new Date(sBirthday.replace(/-/g,"/")) if(sBirthday!=(d.getFullYear()+"-"+ (d.getMonth()+1) + "-" + d.getDate()))return "Error:非法生日"; for(var i = 17;i>=0;i --) iSum += (Math.pow(2,i) % 11) * parseInt(sId.charAt(17 - i),11) if(iSum%11!=1)return "Error:非法證號(hào)"; //aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+ (sId.substr(16,1)%2?"男":"女") return true; } //6.4電話號(hào)碼的驗(yàn) 證 function PhoneCheck(str){ var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)/ alert(reg.test(str)); } //6.5驗(yàn)證IP地址 function isip(s){ var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}}; var re=s.split(".") return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false } /**********************6綜合類(lèi)******************************/ //回車(chē)鍵換為 tab function enterToTab() { if(event.srcElement.type != 'button' && event.srcElement.type != 'textarea' && event.keyCode == 13) { event.keyCode = 9; } } //具有在輸入非數(shù)字字符不回顯的效果,即對(duì)非數(shù)字字符的輸入不作反應(yīng)。 function numbersonly(field,event){ var key,keychar; if(window.event){ key = window.event.keyCode; } else if (event){ key = event.which; } else{ return true ; } keychar = String.fromCharCode(key); if((key == null)||(key == 0)||(key == 8)||(key == 9)||(key == 13)||(key == 27)){ return true; } else if(("0123456789.").indexOf(keychar)>-1){ window.status = ""; return true; } else { window.status = "Field excepts numbers only"; return false; } } // function txtOnKeyPress() { var code=String.fromCharCode(window.event.keyCode)+''; alert(code); var temp =eval("isInt('"+code+"')"); window.event.returnValue = temp; }
|