Heim  >  Artikel  >  Web-Frontend  >  Matching zweier Strings in JavaScript

Matching zweier Strings in JavaScript

高洛峰
高洛峰Original
2016-11-26 14:42:171218Durchsuche

Bei der Arbeit ist ein Problem aufgetreten. Die Anforderung lautet: Jede Zeichenfolge enthält höchstens ein *, ? kann eine unendliche Anzahl von

* enthalten, die eine Zeichenfolge beliebiger Länge darstellen. Es stellt ein Zeichen

dar und erfordert zwei Konflikte






Verwenden Sie Javascript, um den Code wie folgt zu implementieren:

[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);                     //然后对应后半部分进行测试 
                   var str1XBackPosition = str1.length-str1XPosition-1; 
                    var str2XBackPosition = str2.length-str2XPosition-1; 
                    var backposition = str1XBackPosition>str2XBackPosition?str2XBackPosition:str1XBackPosition; 
                    if (backposition==0) 
                    { 
                       warning(str1+'与'+str2+"冲突"); 
                    } 
                     else 
                   { 
                       substring(str1.length-backposition,str1.length); 
                        var patbackStr2 = str2.substring(str2.length-backposition,str2.length); 
                        if(checkMarchQ(patbackStr1,patbackStr2)) 
                       { 
                          +str2+"冲突"); 
                       } 
                   }  
            { 
                //alert(str1+'与'+str2+"前半部分冲突"); 
                var str1XBackPosition = str1.length-str1XPosition-1; 
                var str2XBackPosition = str2.length-str2XPosition-1; 
                var backposition = str1XBackPosition>str2XBackPosition?str2XBackPosition:str1XBackPosition; 
                if (backposition==0) 
                { 
                   warning(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) )//有且只有一个字符串含有* 
        { 
           var strX =. str1XPosition==-1?str2:str1;//含有*的字符串 
            var strNoX = str1XPosition==-1? str1:str2;//不含*的字符串 
            if (strX.length-1            { 
                var position = strX.indexOf('*'); 
                if(position==0) 
                { 
                   //alert(str1+'与'+str2+"前半部分冲突"); 
                    var backposition = strX.length-position-1; 
                    if (backposition==0) 
                    { 
                       warning(str1+'与'+str2+"冲突"); 
                    } 
                    sonst 
                    { 
                        var patbackStr1 = str1.substring(str1.length-backposition,str1.length); 
                        var patbackStr2 = str2.substring(str2.length-backposition,str2.length); 
                        if(checkMarchQ(patbackStr1,patbackStr2)) 
                       { 
                          +str2+"冲突"); 
                       } 
                    } 
              . sonst        { 
                    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) 
                                     突"); 
                       } 
                                              var patbackStr1 = str1.substring(str1.length-backposition,str1.length); 
                            var patbackStr2 = str2.substring(str2.length-backposition,str2.length); 
                           if(checkMarchQ(patbackStr1,patbackStr2)) 
                           warning(str1+'与'+str2+"冲突"); 
                            } 
}
                                                                     ~ +str2+"Konflikt");
                              if(str1.length= =str2.length)
                 { if(str1.substr (i,1)!='?' && str2.substr( i,1)!='?')
                                                                                                                                    1)
                                                                                                                                                                                                                                       }
                                                                                                                                                                                                                            Überprüfen



Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn