<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

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

        來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:33:35
        文檔

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

        JavaScript正則表達式校驗與遞歸函數(shù)實際應用實例解析: JS遞歸函數(shù)(菲波那切數(shù)列) 實例解析: 一組數(shù)字: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)
        推薦度:
        導讀JavaScript正則表達式校驗與遞歸函數(shù)實際應用實例解析: JS遞歸函數(shù)(菲波那切數(shù)列) 實例解析: 一組數(shù)字: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)

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

        實例解析: 

        一組數(shù)字: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);
        }
        }

          正則表達式檢驗

        //校驗是否全由數(shù)字組成
        function isDigit(s)
        {
        var patrn=/^[0-9]{1,20}$/;
        if (!patrn.exec(s)) return false
        return true
        }
        //校驗登錄名:只能輸入5-20個以字母開頭、可帶數(shù)字、“_”、“.”的字串
        function isRegisterUserName(s)
        {
        var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
        if (!patrn.exec(s)) return false
        return true
        }
        //校驗用戶姓名:只能輸入1-30個以字母開頭的字串
        function isTrueName(s)
        {
        var patrn=/^[a-zA-Z]{1,30}$/;
        if (!patrn.exec(s)) return false
        return true
        }
        //校驗密碼:只能輸入6-20個字母、數(shù)字、下劃線
        function isPasswd(s)
        {
        var patrn=/^(\w){6,20}$/;
        if (!patrn.exec(s)) return false
        return true
        }
        //校驗普通電話、傳真號碼:可以“+”開頭,除數(shù)字外,可含有“-”
        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 false
        return true
        }
        //校驗手機號碼:必須以數(shù)字開頭,除數(shù)字外,可含有“-”
        function isMobil(s)
        {
        var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
        if (!patrn.exec(s)) return false
        return 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 false
        return true
        }
        //校驗搜索關鍵字
        function isSearch(s)
        {
        var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;\'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;\'\,.<>?]{0,19}$/;
        if (!patrn.exec(s)) return false
        return true
        }
        function isIP(s) //by zergling
        {
        var patrn=/^[0-9.]{1,20}$/;
        if (!patrn.exec(s)) return false
        return 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<moreDate
        function 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 String
        function 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: isDigit
        function 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 String
        decLen AS Integer (how many digits after period)
        * RETURNS: TRUE if theStr is a float, otherwise FALSE
        * CALLS: isInt
        function 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 window
        hite -> Height of the new window
        wide -> Width of the new window
        bars -> 1-Scroll bars = YES 0-Scroll Bars = NO
        resize -> 1-Resizable = YES 0-Resizable = NO
        * CALLS: NONE
        * RETURNS: New window instance
        function 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 string
        function 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);
        }

        正則表達式應用

        "^\\d+$"  //非負整數(shù)(正整數(shù) + 0) 
        "^[0-9]*[1-9][0-9]*$"  //正整數(shù) 
        "^((-\\d+)|(0+))$"  //非正整數(shù)(負整數(shù) + 0) 
        "^-[0-9]*[1-9][0-9]*$"  //負整數(shù) 
        "^-?\\d+$"    //整數(shù) 
        "^\\d+(\\.\\d+)?$"  //非負浮點數(shù)(正浮點數(shù) + 0) 
        "^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮點數(shù) 
        "^((-\\d+(\\.\\d+)?)|(0+(\\.0+)?))$"  //非正浮點數(shù)(負浮點數(shù) + 0) 
        "^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //負浮點數(shù) 
        "^(-?\\d+)(\\.\\d+)?$"  //浮點數(shù) 
        "^[A-Za-z]+$"  //由26個英文字母組成的字符串 
        "^[A-Z]+$"  //由26個英文字母的大寫組成的字符串 
        "^[a-z]+$"  //由26個英文字母的小寫組成的字符串 
        "^[A-Za-z0-9]+$"  //由數(shù)字和26個英文字母組成的字符串 
        "^\\w+$"  //由數(shù)字、26個英文字母或者下劃線組成的字符串 
        "^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$"    //email地址 
        "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$"  //url

        遞歸函數(shù)應用

        總結

        以上所述是小編給大家介紹的JavaScript正則表達式校驗與遞歸函數(shù)實際應用實例解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

        聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

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

        JavaScript正則表達式校驗與遞歸函數(shù)實際應用實例解析: JS遞歸函數(shù)(菲波那切數(shù)列) 實例解析: 一組數(shù)字: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)
        推薦度:
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲人成网站999久久久综合| 亚洲成av人片在线看片| 特黄aa级毛片免费视频播放| 大香人蕉免费视频75| 亚洲欧洲日韩国产一区二区三区| 免费看韩国黄a片在线观看| 亚洲欧洲日韩极速播放| 波多野结衣久久高清免费| 亚洲国产成人精品无码区二本 | 国产成人精品日本亚洲专区| 午夜不卡AV免费| 亚洲国产三级在线观看| 日韩成人免费视频| 亚洲一区二区三区免费视频| 最近中文字幕免费mv视频8| 日韩亚洲翔田千里在线| 亚洲第一成人影院| a级毛片免费观看视频| 亚洲一区中文字幕久久| 黄页网站在线观看免费高清| 久久乐国产综合亚洲精品| 免费真实播放国产乱子伦| 丝袜捆绑调教视频免费区| 在线电影你懂的亚洲| 日韩电影免费在线| 国产黄色片免费看| 亚洲一级片在线观看| 免费一级毛片不卡在线播放| 国内精品免费久久影院| 亚洲系列国产精品制服丝袜第| 午夜成人免费视频| 91成人免费观看在线观看| 亚洲国产午夜电影在线入口| 免费国产在线观看不卡| 黄页免费在线观看| 亚洲精品无AMM毛片| 亚洲精品~无码抽插| 在线观看特色大片免费视频| 美女巨胸喷奶水视频www免费| 亚洲精彩视频在线观看| 亚洲婷婷国产精品电影人久久|