摘要:將加法和加上校驗(yàn)位能被整除。下面分別分析出生日期和校驗(yàn)位檢查生日日期是否正確輸入的身份證號(hào)里出生日期不對(duì)將位身份證轉(zhuǎn)成位校驗(yàn)位按照的規(guī)定生成,可以認(rèn)為是數(shù)字。校驗(yàn)位按照的規(guī)定生成,可以認(rèn)為是數(shù)字。表示全部為中文為不全是中文,或沒(méi)有中文。
判斷是否是合理的銀行卡卡號(hào)
//Description: 銀行卡號(hào)Luhm校驗(yàn) //Luhm校驗(yàn)規(guī)則:16位銀行卡號(hào)(19位通用): // 1.將未帶校驗(yàn)位的 15(或18)位卡號(hào)從右依次編號(hào) 1 到 15(18),位于奇數(shù)位號(hào)上的數(shù)字乘以 2。 // 2.將奇位乘積的個(gè)十位全部相加,再加上所有偶數(shù)位上的數(shù)字。 // 3.將加法和加上校驗(yàn)位能被 10 整除。 //bankno為銀行卡號(hào) banknoInfo為顯示提示信息的DIV或其他控件 function luhmCheck(bankno){ var lastNum=bankno.substr(bankno.length-1,1);//取出最后一位(與luhm進(jìn)行比較) var first15Num=bankno.substr(0,bankno.length-1);//前15或18位 var newArr=new Array(); for(var i=first15Num.length-1;i>-1;i--){ //前15或18位倒序存進(jìn)數(shù)組 newArr.push(first15Num.substr(i,1)); } var arrJiShu=new Array(); //奇數(shù)位*2的積 <9 var arrJiShu2=new Array(); //奇數(shù)位*2的積 >9 var arrOuShu=new Array(); //偶數(shù)位數(shù)組 for(var j=0;j9 的分割之后的數(shù)組個(gè)位數(shù) var jishu_child2=new Array();//奇數(shù)位*2 >9 的分割之后的數(shù)組十位數(shù) for(var h=0;h 9 的分割之后的數(shù)組個(gè)位數(shù)之和 var sumJiShuChild2=0; //奇數(shù)位*2 >9 的分割之后的數(shù)組十位數(shù)之和 var sumTotal=0; for(var m=0;m 代碼來(lái)源: http://blog.csdn.net/ywt_go/article/details/7730380
判斷是否是合理的IP地址/** * * @descrition:判斷是否是合理的IP地址 * @param:str->待驗(yàn)證的IP地址 * @return :true合理的IP地址 * */ var isIP = function (str) { var pattern = /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/; return pattern.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/3659b0c244aa0b56d265
判斷輸入的參數(shù)是否是個(gè)合格的URL/** * @descrition:判斷輸入的參數(shù)是否是個(gè)合格的URL,由于url的靈活性和多樣性,一下代碼并不能測(cè)試所有的url都是合法的 * @param:str->待判斷的url參數(shù) * @return :true表示符合改正則。 **/ var isURL = function (str) { var strRegex = "^((https|http|ftp|rtsp|mms)?://)" + "?(([0-9a-z_!~*"().&=+$%-]+: )?[0-9a-z_!~*"().&=+$%-]+@)?" //ftp的user@ + "(([0-9]{1,3}.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184 + "|" // 允許IP和DOMAIN(域名) + "([0-9a-z_!~*"()-]+.)*" // 域名- www. + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]." // 二級(jí)域名 + "[a-z]{2,6})" // first level domain- .com or .museum + "(:[0-9]{1,4})?" // 端口- :80 + "((/?)|" + "(/[0-9a-z_!~*"().;?:@&=+$,%#-]+)+/?)$"; var re = new RegExp(strRegex); return re.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/ce075343fc539c1e4c75
判斷輸入的參數(shù)是否是國(guó)內(nèi)合法的郵編地址/** * * @descrition:判斷輸入的參數(shù)是否是國(guó)內(nèi)合法的郵編地址(ps:國(guó)內(nèi)不包含國(guó)外的郵編) * @link: http://www.youbianku.com/%E9%A6%96%E9%A1%B5 * @param: str為待驗(yàn)證的郵編號(hào)碼 * @return: true表示為合法的郵編號(hào)碼 * */ var isPostcode = function(str) { //國(guó)內(nèi)郵編以0-8開(kāi)頭的6為數(shù)字 var pattern = /^[0-8]d{5}$/; return pattern.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/4db037bfc161a3e0f776
判斷輸入的參數(shù)是否是個(gè)合格的QQ號(hào)碼/** * * @descrition:判斷輸入的參數(shù)是否是個(gè)合格的QQ號(hào)碼 * @param->str:待驗(yàn)證的參數(shù) * @return: true驗(yàn)證成功 */ var isQQ = function(str) { /** *@descrition:規(guī)則 * 1-9開(kāi)頭,最少5位。 */ var pattern = /^[1-9][0-9]{4,}$/ return pattern.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/64ceba194958e6ebedfb
判斷輸入的參數(shù)是否是個(gè)合格的固定電話(huà)號(hào)碼/** * @descrition:判斷輸入的參數(shù)是否是個(gè)合格的固定電話(huà)號(hào)碼。 * @param:str->待驗(yàn)證的固定電話(huà)號(hào)碼。 * @return : true表示驗(yàn)證合格。 * **/ var isfixedphone = function(str) { /** * * @desctition:規(guī)則->區(qū)號(hào)3-4位,號(hào)碼7-8位,可以有分機(jī)號(hào),分機(jī)號(hào)為3-4為,格式如下:"0775-85333333-123" * */ var pattern = /^d{3,4}-d{7,8}(-d{3,4})?$/; return pattern.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/a62123e422316062301c
判斷輸入的參數(shù)是否是個(gè)合格的手機(jī)號(hào)碼/** * * @descrition:判斷輸入的參數(shù)是否是個(gè)合格的手機(jī)號(hào)碼,不能判斷號(hào)碼的有效性,有效性可以通過(guò)運(yùn)營(yíng)商確定。 * @param:str ->待判斷的手機(jī)號(hào)碼 * @return: true表示合格輸入?yún)?shù) * */ var isCellphone = function(str) { /** *@descrition:手機(jī)號(hào)碼段規(guī)則 * 13段:130、131、132、133、134、135、136、137、138、139 * 14段:145、147 * 15段:150、151、152、153、155、156、157、158、159 * 17段:170、176、177、178 * 18段:180、181、182、183、184、185、186、187、188、189 * */ var pattern = /^(13[0-9]|14[57]|15[012356789]|17[0678]|18[0-9])d{8}$/; return pattern.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/2bbfbb5d6dccea3b2285
判斷輸入的參數(shù)是否是個(gè)合格標(biāo)準(zhǔn)的郵箱/** * * @descrition:判斷輸入的參數(shù)是否是個(gè)合格標(biāo)準(zhǔn)的郵箱,并不能判斷是否有效,有效只能通過(guò)郵箱提供商確定。 * @param:str ->待驗(yàn)證的參數(shù)。 * @return -> true表示合格的郵箱。 * */ var isEmail = function(str){ /** * @descrition:郵箱規(guī)則 * 1.郵箱以a-z、A-Z、0-9開(kāi)頭,最小長(zhǎng)度為1. * 2.如果左側(cè)部分包含-、_、.則這些特殊符號(hào)的前面必須包一位數(shù)字或字母。 * 3.@符號(hào)是必填項(xiàng) * 4.右則部分可分為兩部分,第一部分為郵件提供商域名地址,第二部分為域名后綴,現(xiàn)已知的最短為2位。最長(zhǎng)的為6為。 * 5.郵件提供商域可以包含特殊字符-、_、. */ var pattern = /^([a-zA-Z0-9]+[-_.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[-_.]?)*[a-zA-Z0-9]+.[a-zA-Z]{2,6}$/; return pattern.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/fd59dc215ad7d7e4fb41
判斷傳入的參數(shù)的長(zhǎng)度是否在給定的有效范圍內(nèi)/** * * @description: 判斷傳入的參數(shù)的長(zhǎng)度是否在給定的有效范圍內(nèi) * @param: minL->給定的最小的長(zhǎng)度 * @param: maxL->給定的最大的長(zhǎng)度 * @param: str->待驗(yàn)證的參數(shù) * @return : true表示合理,驗(yàn)證通過(guò) * */ var isAvaiableLength = function(minL,maxL,str){ return (str.length >= minL && str.length <= maxL) ? true : false; }代碼來(lái)源:https://gist.github.com/hehongwei44/005bf7f6836b3064c893
判斷輸入的參數(shù)是否是一個(gè)合格的身份證號(hào)碼/** * * @descrition: 這個(gè)函數(shù)對(duì)輸入的參數(shù)檢查時(shí)候是合格的身份證號(hào)碼,其身份證有效性無(wú)法判斷。檢測(cè)的顆粒度可以定制。 * @param->str : 待驗(yàn)證的參數(shù) * @return : true是合格的身份證 false為不合法的身份證 * */ var checkIdCard = function (num) { num = num.toUpperCase(); var cityCode = {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ó)外 "}; if(!cityCode[num.substr(0,2)]){ alert("地址編碼錯(cuò)誤"); return false; } //身份證號(hào)碼為15位或者18位,15位時(shí)全為數(shù)字,18位前17位為數(shù)字,最后一位是校驗(yàn)位,可能為數(shù)字或字符X。 if (!(/(^d{15}$)|(^d{17}([0-9]|X)$)/.test(num))) { //alert("輸入的身份證號(hào)長(zhǎng)度不對(duì),或者號(hào)碼不符合規(guī)定! 15位號(hào)碼應(yīng)全為數(shù)字,18位號(hào)碼末位可以為數(shù)字或X。"); return false; } //校驗(yàn)位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。 //下面分別分析出生日期和校驗(yàn)位 var len, re; len = num.length; if (len == 15) { re = new RegExp(/^(d{6})(d{2})(d{2})(d{2})(d{3})$/); var arrSplit = num.match(re); //檢查生日日期是否正確 var dtmBirth = new Date("19" + arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]); var bGoodDay; bGoodDay = (dtmBirth.getYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); if (!bGoodDay) { //alert("輸入的身份證號(hào)里出生日期不對(duì)!"); return false; } else { //將15位身份證轉(zhuǎn)成18位 //校驗(yàn)位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。 var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"); var nTemp = 0, k; num = num.substr(0, 6) + "19" + num.substr(6, num.length - 6); for (k = 0; k < 17; k++) { nTemp += num.substr(k, 1) * arrInt[k]; } num += arrCh[nTemp % 11]; return true; } } if (len == 18) { re = new RegExp(/^(d{6})(d{4})(d{2})(d{2})(d{3})([0-9]|X)$/); var arrSplit = num.match(re); //檢查生日日期是否正確 var dtmBirth = new Date(arrSplit[2] + "/" + arrSplit[3] + "/" + arrSplit[4]); var bGoodDay; bGoodDay = (dtmBirth.getFullYear() == Number(arrSplit[2])) && ((dtmBirth.getMonth() + 1) == Number(arrSplit[3])) && (dtmBirth.getDate() == Number(arrSplit[4])); if (!bGoodDay) { //alert(dtmBirth.getYear()); //alert(arrSplit[2]); //alert("輸入的身份證號(hào)里出生日期不對(duì)!"); return false; } else { //檢驗(yàn)18位身份證的校驗(yàn)碼是否正確。 //校驗(yàn)位按照ISO 7064:1983.MOD 11-2的規(guī)定生成,X可以認(rèn)為是數(shù)字10。 var valnum; var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2); var arrCh = new Array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2"); var nTemp = 0, k; for (k = 0; k < 17; k++) { nTemp += num.substr(k, 1) * arrInt[k]; } valnum = arrCh[nTemp % 11]; if (valnum != num.substr(17, 1)) { //alert("18位身份證的校驗(yàn)碼不正確!應(yīng)該為:" + valnum); return false; } return true; } } return false; }代碼來(lái)源:https://gist.github.com/hehongwei44/808accd01e3c44f87f17
判斷輸入的參數(shù)是否為空/** * * @Dependence : https://gist.github.com/hehongwei44/3e167cfcda47d4c8051a#file-extendstringprototype-js * @description : 判斷輸入的參數(shù)是否為空 * @return : true表示為輸入?yún)?shù)為空 * */ var isEmpty = function (str) { //空引用 空字符串 空輸入 return str == null || typeof str == "undefined" || str.trim() == "" ? true : false; }代碼來(lái)源:https://gist.github.com/hehongwei44/1be8311320eb6f707394
判斷輸入的字符是否全部是中文字符/** * * @descrition: 測(cè)試給定的參數(shù)是否全部為中文字符,如"中test"不會(huì)通過(guò) 。 * @param->str : 傳入的參數(shù),類(lèi)型為字符串。 * @return : true表示全部為中文,false為不全是中文,或沒(méi)有中文。 * */ var isChinese = function (str) { var pattern = /^[u0391-uFFE5]+$/g; return pattern.test(str); }代碼來(lái)源:https://gist.github.com/hehongwei44/abeec850e6ff5134da9d
判斷傳入的參數(shù)是否為數(shù)字/** * * @descrition : 該函數(shù)的功能是判斷轉(zhuǎn)入的參數(shù)是否為數(shù)字類(lèi)型。 * @param->o : 傳入的參數(shù),參數(shù)可以為任何類(lèi)型。 * @return: true表示為數(shù)字,false為非數(shù)字 * */ var isNumber = function(o) { return !isNaN(o); }代碼來(lái)源:https://gist.github.com/hehongwei44/fca3f169ad547fc4ba5d
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/85488.html
通過(guò)數(shù)組,拓展字符串拼接容易導(dǎo)致性能的問(wèn)題 function StringBuffer() { this.__strings__ = new Array(); } StringBuffer.prototype.append = function (str) { this.__strings__.push(str); return this; } StringBuffer....
摘要:初始化參數(shù)可選參數(shù),必填參數(shù)可選,只有在請(qǐng)求時(shí)需要參數(shù)可選回調(diào)函數(shù)可選參數(shù)可選,默認(rèn)為參數(shù)可選,默認(rèn)為創(chuàng)建引擎對(duì)象打開(kāi)發(fā)送普通文本接收文檔將字符串轉(zhuǎn)換為對(duì)象最后,說(shuō)明一下此函數(shù)的用法。即等待與成功回調(diào),后標(biāo)志位置為。 jquery限制文本框只能輸入數(shù)字 jquery限制文本框只能輸入數(shù)字,兼容IE、chrome、FF(表現(xiàn)效果不一樣),示例代碼如下: $(input).keyup(...
摘要:一些元素位置設(shè)置的通用方法查找元素的左端位置代碼依賴(lài)來(lái)自查找元素的頂端位置設(shè)置元素和位置與當(dāng)前位置無(wú)關(guān)的一對(duì)函數(shù)設(shè)置元素水平的函數(shù)設(shè)置元素垂直位置的函數(shù)在元素的水平位置上增加像素距離的函數(shù)在元素的垂直位置上增加像素距離的函數(shù)代碼來(lái)源元素相對(duì) 一些元素位置設(shè)置的通用方法 /** * 查找元素的左端位置, * 代碼依賴(lài):getStyle來(lái)自 https://gist.github.c...
摘要:把中的偽數(shù)組轉(zhuǎn)換為真數(shù)組在中,函數(shù)中的隱藏變量和用獲得的元素集合都不是真正的數(shù)組,不能使用等方法,在有這種需要的時(shí)候只能先轉(zhuǎn)換為真正的數(shù)組。檢測(cè)元素是否支持某個(gè)屬性代碼用法創(chuàng)建和使用命名空間使用方式 把JavaScript中的偽數(shù)組轉(zhuǎn)換為真數(shù)組 在 JavaScript 中, 函數(shù)中的隱藏變量 arguments 和用 getElementsByTagName 獲得的元素集合(Nod...
摘要:代碼來(lái)源一些常用的操作方法介紹查找相關(guān)元素的前一個(gè)兄弟元素的方法。查找元素指定層級(jí)的父元素。 DOM操作的增強(qiáng)版功能函數(shù) /** * 將一個(gè)DOM節(jié)點(diǎn)、HTML字符串混合型參數(shù) * 轉(zhuǎn)化為原生的DOM節(jié)點(diǎn)數(shù)組 * * */ function checkElem(a) { var r = []; if (a.constructor != Array) { ...
閱讀 1437·2023-04-25 18:34
閱讀 3547·2021-11-19 09:40
閱讀 2853·2021-11-17 09:33
閱讀 3001·2021-11-12 10:36
閱讀 2866·2021-09-26 09:55
閱讀 2683·2021-08-05 10:03
閱讀 2548·2019-08-30 15:54
閱讀 2895·2019-08-30 15:54