国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JavaScript正則表達式校驗與遞歸函數實際應用實例解析

2024-05-06 15:13:24
字體:
來源:轉載
供稿:網友

 JS遞歸函數(菲波那切數列)

實例解析: 

一組數字:0 1 1 2 3 5 8 13        0 1 2 3 4 5 6 7  sl(0)=0;  sl(1)=1;  sl(2)=sl(0)+sl(1);  sl(3)=sl(1)+sl(2);  function sl(i){    if(i==0){     return 0;}else if(i==1){     return 1;}else{     return sl(i-1)+sl(i-2);}}

  正則表達式檢驗

//校驗是否全由數字組成function isDigit(s){var patrn=/^[0-9]{1,20}$/;if (!patrn.exec(s)) return falsereturn true}//校驗登錄名:只能輸入5-20個以字母開頭、可帶數字、“_”、“.”的字串function isRegisterUserName(s){var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;if (!patrn.exec(s)) return falsereturn true}//校驗用戶姓名:只能輸入1-30個以字母開頭的字串function isTrueName(s){var patrn=/^[a-zA-Z]{1,30}$/;if (!patrn.exec(s)) return falsereturn true}//校驗密碼:只能輸入6-20個字母、數字、下劃線function isPasswd(s){var patrn=/^(/w){6,20}$/;if (!patrn.exec(s)) return falsereturn true}//校驗普通電話、傳真號碼:可以“+”開頭,除數字外,可含有“-”function isTel(s){//var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?(/d){1,12})+$/;var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;if (!patrn.exec(s)) return falsereturn true}//校驗手機號碼:必須以數字開頭,除數字外,可含有“-”function isMobil(s){var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;if (!patrn.exec(s)) return falsereturn true}//校驗郵政編碼function isPostalCode(s){//var patrn=/^[a-zA-Z0-9]{3,12}$/;var patrn=/^[a-zA-Z0-9 ]{3,12}$/;if (!patrn.exec(s)) return falsereturn true}//校驗搜索關鍵字function isSearch(s){var patrn=/^[^`~!@#$%^&*()+=|///][/]/{/}:;/'/,.<>/?]{1}[^`~!@$%^&()+=|///][/]/{/}:;/'/,.<>?]{0,19}$/;if (!patrn.exec(s)) return falsereturn true}function isIP(s) //by zergling{var patrn=/^[0-9.]{1,20}$/;if (!patrn.exec(s)) return falsereturn true}* FUNCTION: isBetween* PARAMETERS: val AS any value* lo AS Lower limit to check* hi AS Higher limit to check* CALLS: NOTHING* RETURNS: TRUE if val is between lo and hi both inclusive, otherwise false.function isBetween (val, lo, hi) {if ((val < lo) || (val > hi)) { return(false); }else { return(true); }}* FUNCTION: isDate checks a valid date* PARAMETERS: theStr AS String* CALLS: isBetween, isInt* RETURNS: TRUE if theStr is a valid date otherwise false.function isDate (theStr) {var the1st = theStr.indexOf('-');var the2nd = theStr.lastIndexOf('-');if (the1st == the2nd) { return(false); }else {var y = theStr.substring(0,the1st);var m = theStr.substring(the1st+1,the2nd);var d = theStr.substring(the2nd+1,theStr.length);var maxDays = 31;if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {return(false); }else if (y.length < 4) { return(false); }else if (!isBetween (m, 1, 12)) { return(false); }else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;else if (m==2) {if (y % 4 > 0) maxDays = 28;else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;else maxDays = 29;}if (isBetween(d, 1, maxDays) == false) { return(false); }else { return(true); }}}* FUNCTION: isEuDate checks a valid date in British format* PARAMETERS: theStr AS String* CALLS: isBetween, isInt* RETURNS: TRUE if theStr is a valid date otherwise false.function isEuDate (theStr) {if (isBetween(theStr.length, 8, 10) == false) { return(false); }else {var the1st = theStr.indexOf('/');var the2nd = theStr.lastIndexOf('/');if (the1st == the2nd) { return(false); }else {var m = theStr.substring(the1st+1,the2nd);var d = theStr.substring(0,the1st);var y = theStr.substring(the2nd+1,theStr.length);var maxDays = 31;if (isInt(m)==false || isInt(d)==false || isInt(y)==false) {return(false); }else if (y.length < 4) { return(false); }else if (isBetween (m, 1, 12) == false) { return(false); }else if (m==4 || m==6 || m==9 || m==11) maxDays = 30;else if (m==2) {if (y % 4 > 0) maxDays = 28;else if (y % 100 == 0 && y % 400 > 0) maxDays = 28;else maxDays = 29;}if (isBetween(d, 1, maxDays) == false) { return(false); }else { return(true); }}}}* FUNCTION: Compare Date! Which is the latest!* PARAMETERS: lessDate,moreDate AS String* CALLS: isDate,isBetween* RETURNS: TRUE if lessDate<moreDatefunction isComdate (lessDate , moreDate){if (!isDate(lessDate)) { return(false);}if (!isDate(moreDate)) { return(false);}var less1st = lessDate.indexOf('-');var less2nd = lessDate.lastIndexOf('-');var more1st = moreDate.indexOf('-');var more2nd = moreDate.lastIndexOf('-');var lessy = lessDate.substring(0,less1st);var lessm = lessDate.substring(less1st+1,less2nd);var lessd = lessDate.substring(less2nd+1,lessDate.length);var morey = moreDate.substring(0,more1st);var morem = moreDate.substring(more1st+1,more2nd);var mored = moreDate.substring(more2nd+1,moreDate.length);var Date1 = new Date(lessy,lessm,lessd);var Date2 = new Date(morey,morem,mored);if (Date1>Date2) { return(false);}return(true);}* FUNCTION isEmpty checks if the parameter is empty or null* PARAMETER str AS Stringfunction isEmpty (str) {if ((str==null)||(str.length==0)) return true;else return(false);}* FUNCTION: isInt* PARAMETER: theStr AS String* RETURNS: TRUE if the passed parameter is an integer, otherwise FALSE* CALLS: isDigitfunction isInt (theStr) {var flag = true;if (isEmpty(theStr)) { flag=false; }else{ for (var i=0; i<theStr.length; i++) {if (isDigit(theStr.substring(i,i+1)) == false) {flag = false; break;}}}return(flag);}* FUNCTION: isReal* PARAMETER: heStr AS StringdecLen AS Integer (how many digits after period)* RETURNS: TRUE if theStr is a float, otherwise FALSE* CALLS: isIntfunction isReal (theStr, decLen) {var dot1st = theStr.indexOf('.');var dot2nd = theStr.lastIndexOf('.');var OK = true;if (isEmpty(theStr)) return false;if (dot1st == -1) {if (!isInt(theStr)) return(false);else return(true);}else if (dot1st != dot2nd) return (false);else if (dot1st==0) return (false);else {var intPart = theStr.substring(0, dot1st);var decPart = theStr.substring(dot2nd+1);if (decPart.length > decLen) return(false);else if (!isInt(intPart) || !isInt(decPart)) return (false);else if (isEmpty(decPart)) return (false);else return(true);}}* FUNCTION: isEmail* PARAMETER: String (Email Address)* RETURNS: TRUE if the String is a valid Email address* FALSE if the passed string is not a valid Email Address* EMAIL FORMAT: AnyName@EmailServer e.g; webmaster@hotmail.com* @ sign can appear only once in the email address.function isEmail (theStr) {var atIndex = theStr.indexOf('@');var dotIndex = theStr.indexOf('.', atIndex);var flag = true;theSub = theStr.substring(0, dotIndex+1)if ((atIndex < 1)||(atIndex != theStr.lastIndexOf('@'))||(dotIndex < atIndex + 2)||(theStr.length <= theSub.length)){ return(false); }else { return(true); }}* FUNCTION: newWindow* PARAMETERS: doc -> Document to open in the new windowhite -> Height of the new windowwide -> Width of the new windowbars -> 1-Scroll bars = YES 0-Scroll Bars = NOresize -> 1-Resizable = YES 0-Resizable = NO* CALLS: NONE* RETURNS: New window instancefunction newWindow (doc, hite, wide, bars, resize) {var winNew="_blank";var opt="toolbar=0,location=0,directories=0,status=0,menubar=0,";opt+=("scrollbars="+bars+",");opt+=("resizable="+resize+",");opt+=("width="+wide+",");opt+=("height="+hite);winHandle=window.open(doc,winNew,opt);return;}* FUNCTION: DecimalFormat* PARAMETERS: paramValue -> Field value* CALLS: NONE* RETURNS: Formated stringfunction DecimalFormat (paramValue) {var intPart = parseInt(paramValue);var decPart =parseFloat(paramValue) - intPart;str = "";if ((decPart == 0) || (decPart == null)) str += (intPart + ".00");else str += (intPart + decPart);return (str);}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 淮北市| 江阴市| 康马县| 永城市| 金华市| 运城市| 尚义县| 安泽县| 湖北省| 武功县| 宜川县| 呼和浩特市| 石城县| 湘潭县| 尚义县| 罗甸县| 藁城市| 南江县| 慈利县| 横山县| 紫云| 淮南市| 阿坝县| 文山县| 大关县| 沙雅县| 介休市| 霸州市| 禹城市| 万州区| 工布江达县| 靖远县| 民勤县| 湾仔区| 桦川县| 绥德县| 玉溪市| 台山市| 涞源县| 孝感市| 衢州市|