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

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

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題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關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        JavaScript中兩個(gè)字符串的匹配

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 20:30:47
        文檔

        JavaScript中兩個(gè)字符串的匹配

        JavaScript中兩個(gè)字符串的匹配:工作中遇到一個(gè)問(wèn)題,兩個(gè)字符串匹配,要求:每個(gè)字符串中最多含有一個(gè)*,可以無(wú)限多個(gè)*代表一個(gè)任意長(zhǎng)度的字符串,而則代表一個(gè)字符要求可以提示出兩個(gè)沖突<input type="text" id="str1"><br><
        推薦度:
        導(dǎo)讀JavaScript中兩個(gè)字符串的匹配:工作中遇到一個(gè)問(wèn)題,兩個(gè)字符串匹配,要求:每個(gè)字符串中最多含有一個(gè)*,可以無(wú)限多個(gè)*代表一個(gè)任意長(zhǎng)度的字符串,而則代表一個(gè)字符要求可以提示出兩個(gè)沖突<input type="text" id="str1"><br><

        工作中遇到一個(gè)問(wèn)題,兩個(gè)字符串匹配,要求:每個(gè)字符串中最多含有一個(gè)*,?可以無(wú)限多個(gè)

        *代表一個(gè)任意長(zhǎng)度的字符串,而?則代表一個(gè)字符

        要求可以提示出兩個(gè)沖突

        <input type="text" id="str1"><br>
        <input type="text" id="str2"><br>
        <input type="button" onclick="checkMarchX()" value="CHECK">
        用Javascript實(shí)現(xiàn)代碼如下:

        [javascript]
        function checkMarchX()
        {
        var str1 = document.getElementById('str1').value;
        var str2 = document.getElementById('str2').value;
        var str1XPosition = str1.indexOf('*');
        var str2XPosition = str2.indexOf('*');
        if(str1XPosition!=-1 && str2XPosition!=-1)//兩者都含有*
        {
        var position = str1XPosition>str2XPosition?str2XPosition:str1XPosition;//success
        if(position!=0)
        {
        var patbeforeStr1 = str1.substring(0,position);
        var patbeforeStr2 = str2.substring(0,position);
        if(checkMarchQ(patbeforeStr1,patbeforeStr2))
        {
        //alert(str1+'與'+str2+"前半部分沖突");
        //然后對(duì)應(yīng)后半部分進(jìn)行測(cè)試
        var str1XBackPosition = str1.length-str1XPosition-1;
        var str2XBackPosition = str2.length-str2XPosition-1;
        var backposition = str1XBackPosition>str2XBackPosition?str2XBackPosition:str1XBackPosition;
        if (backposition==0)
        {
        alert(str1+'與'+str2+"沖突");
        }
        else
        {
        var patbackStr1 = str1.substring(str1.length-backposition,str1.length);
        var patbackStr2 = str2.substring(str2.length-backposition,str2.length);
        if(checkMarchQ(patbackStr1,patbackStr2))
        {
        alert(str1+'與'+str2+"沖突");
        }
        }
        }
        }
        else
        {
        //alert(str1+'與'+str2+"前半部分沖突");
        var str1XBackPosition = str1.length-str1XPosition-1;
        var str2XBackPosition = str2.length-str2XPosition-1;
        var backposition = str1XBackPosition>str2XBackPosition?str2XBackPosition:str1XBackPosition;
        if (backposition==0)
        {
        alert(str1+'與'+str2+"沖突");
        }
        else
        {
        var patbackStr1 = str1.substring(str1.length-backposition,str1.length);
        var patbackStr2 = str2.substring(str2.length-backposition,str2.length);
        if(checkMarchQ(patbackStr1,patbackStr2))
        {
        alert(str1+'與'+str2+"沖突");
        }
        }
        }
        }
        else if((str1XPosition==-1 && str2XPosition!=-1)||(str1XPosition!=-1 && str2XPosition==-1))//有且只有一個(gè)字符串含有*
        {
        var strX = str1XPosition==-1?str2:str1;//含有*的字符串
        var strNoX = str1XPosition==-1?str1:str2;//不含*的字符串
        if (strX.length-1<strNoX.length)
        {
        var position = strX.indexOf('*');
        if(position==0)
        {
        //alert(str1+'與'+str2+"前半部分沖突");
        var backposition = strX.length-position-1;
        if (backposition==0)
        {
        alert(str1+'與'+str2+"沖突");
        }
        else
        {
        var patbackStr1 = str1.substring(str1.length-backposition,str1.length);
        var patbackStr2 = str2.substring(str2.length-backposition,str2.length);
        if(checkMarchQ(patbackStr1,patbackStr2))
        {
        alert(str1+'與'+str2+"沖突");
        }
        }
        }
        else
        {
        var patbeforeStr1 = str1.substring(0,position);
        var patbeforeStr2 = str2.substring(0,position);
        if(checkMarchQ(patbeforeStr1,patbeforeStr2))
        {
        //alert(str1+'與'+str2+"前半部分沖突");
        var backposition = strX.length-position-1;
        if (backposition==0)
        {
        alert(str1+'與'+str2+"沖突");
        }
        else
        {
        var patbackStr1 = str1.substring(str1.length-backposition,str1.length);
        var patbackStr2 = str2.substring(str2.length-backposition,str2.length);
        if(checkMarchQ(patbackStr1,patbackStr2))
        {
        alert(str1+'與'+str2+"沖突");
        }
        }
        }
        }
        }
        }
        else
        {
        if(checkMarchQ(str1,str2))
        {
        alert(str1+'與'+str2+"沖突");
        }
        }
        }
        function checkMarchQ(str1,str2)
        {
        var flagque = false;
        if(str1.length==str2.length)
        {
        //長(zhǎng)度相同才有可能沖突
        for (var i=0 ;i<str1.length ;i++ )
        {
        if(str1.substr(i,1)!='?' && str2.substr(i,1)!='?')
        {
        if(str1.substr(i,1)!=str2.substr(i,1))
        {
        flagque = false;//表示不沖突
        break;
        }
        else
        {
        flagque = true;//表示沖突
        }
        }
        }
        }
        return flagque;
        }

        其中*最起碼為一個(gè)字符,以上程序并沒(méi)有對(duì)輸入的合法性進(jìn)行驗(yàn)證

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

        文檔

        JavaScript中兩個(gè)字符串的匹配

        JavaScript中兩個(gè)字符串的匹配:工作中遇到一個(gè)問(wèn)題,兩個(gè)字符串匹配,要求:每個(gè)字符串中最多含有一個(gè)*,可以無(wú)限多個(gè)*代表一個(gè)任意長(zhǎng)度的字符串,而則代表一個(gè)字符要求可以提示出兩個(gè)沖突<input type="text" id="str1"><br><
        推薦度:
        標(biāo)簽: js javascript 字符串
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 免费国产99久久久香蕉| 日韩视频免费在线观看| 国产亚洲精品成人久久网站| 亚洲国产成人久久一区二区三区| 国产亚洲一卡2卡3卡4卡新区| 国产成人精品免费视频大全| 69视频在线观看免费| 毛片基地免费视频a| 亚洲色婷婷综合开心网| 亚洲综合激情另类小说区| 亚洲乱妇熟女爽到高潮的片| 永久免费av无码网站yy| 女人被弄到高潮的免费视频| 亚洲成?Ⅴ人在线观看无码| 亚洲狠狠综合久久| 国产91成人精品亚洲精品| 国产免费人成在线视频| 亚洲精品资源在线| 日本免费网址大全在线观看| 亚洲夜夜欢A∨一区二区三区| 亚洲videos| 国产自国产自愉自愉免费24区| 亚洲成色在线综合网站| 青娱乐在线免费观看视频| 波多野结衣在线免费视频| 亚洲日韩中文无码久久| 外国成人网在线观看免费视频| 亚洲人成影院在线观看| 久久美女网站免费| 在线观看亚洲AV每日更新无码| a级毛片免费播放| 亚洲天堂在线视频| 免费一区二区三区| 亚洲日韩精品无码AV海量| 亚洲国产精品一区二区九九| 久久精品免费一区二区三区| 久久亚洲国产最新网站| 国内精自视频品线六区免费| 亚洲AV无码AV男人的天堂不卡| 女人被弄到高潮的免费视频| CAOPORN国产精品免费视频|