JavaScript   发布时间:2022-04-16  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JavaScript中两个字符串的匹配大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

工作中遇到一个问题,两个字符串匹配,要求:每个字符串中最多含有一个*,?可以无限多个

*代表一个任意长度的字符串,而?则代表一个字符

要求可以提示出两个冲突

title"> 代码如下:
checkMarchX()" value="checK">

用JavaScript实现代码如下:

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+"前半部分冲突"); //然后对应后半部分进行测试 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))//有且只有一个字符串含有* { 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) { alert(str1+'与'+str2+"冲突"); } else { var patBACkStr1 = str1.subString(str1.length-BACkposition,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) { //长度相同才有可能冲突 for (var i=0 ;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; }

其中*最起码为一个字符,以上程序并没有对输入的合法性进行验证

查看更多JavaScript的语法,大家可以关注:《》、《》,也希望大家多多支持菜鸟教程。

大佬总结

以上是大佬教程为你收集整理的JavaScript中两个字符串的匹配全部内容,希望文章能够帮你解决JavaScript中两个字符串的匹配所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。