JavaScript中两个字符串的匹配_.docx

上传人:啊飒飒 文档编号:11614193 上传时间:2021-08-26 格式:DOCX 页数:10 大小:12.78KB
返回 下载 相关 举报
JavaScript中两个字符串的匹配_.docx_第1页
第1页 / 共10页
JavaScript中两个字符串的匹配_.docx_第2页
第2页 / 共10页
JavaScript中两个字符串的匹配_.docx_第3页
第3页 / 共10页
JavaScript中两个字符串的匹配_.docx_第4页
第4页 / 共10页
JavaScript中两个字符串的匹配_.docx_第5页
第5页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JavaScript中两个字符串的匹配_.docx》由会员分享,可在线阅读,更多相关《JavaScript中两个字符串的匹配_.docx(10页珍藏版)》请在三一文库上搜索。

1、JavaScript中两个字符串的匹配_ 本文分享JavaScript中两个字符串的匹配的一个实例代码,盼望能给大家做一个参考。 工作中遇到一个问题,两个字符串匹配,要求:每个字符串中最多含有一个*,?可以无限多个 *代表一个任意长度的字符串,而?则代表一个字符 要求可以提示出两个冲突 代码如下: input type=text id=str1br input type=text id=str2br input type=button onclick=checkMarchX() value=CHECK 用JavaScript实现代码如下: 代码如下: function checkMarchX(

2、) 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 = str1XPositionstr2XPosition?str2XPosition:str1XPosition;/success if

3、(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

4、; var backposition = str1XBackPositionstr2XBackPosition?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(

5、patbackStr1,patbackStr2) alert(str1+与+str2+冲突); else /alert(str1+与+str2+前半部分冲突); var str1XBackPosition = str1.length-str1XPosition-1; var str2XBackPosition = str2.length-str2XPosition-1; var backposition = str1XBackPositionstr2XBackPosition?str2XBackPosition:str1XBackPosition; if (backposition=0) al

6、ert(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 str2

7、XPosition=-1)/有且只有一个字符串含有* var strX = str1XPosition=-1?str2:str1;/含有*的字符串 var strNoX = str1XPosition=-1?str1:str2;/不含*的字符串 if (strX.length-1strNoX.length) var position = strX.indexOf(*); if(position=0) /alert(str1+与+str2+前半部分冲突); var backposition = strX.length-position-1; if (backposition=0) alert(s

8、tr1+与+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 =

9、 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(str

10、2.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 ;istr1.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; 其中*最至少为一个字符,以上程序并没有对输入的合法性进行验证 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1