2011-02-11 79 views
0

我有基本的JavaScript代码,需要告诉'我'或'ly'中5个结尾有多少个名字。我有代码告诉有多少包含'ly'或'i',只是在最后。如何搜索以特定字符串结尾的单词?

<script type="text/javascript"> 
    var names = new Array(5); 
    var name; 

    function start_user_prompt() { 
     for(i=0;i<5;i++) { 
      name = prompt('Enter name '+(i+1)); 
      names[i] = name; 
     } 
     e_names(names); 
    }  
    function e_names(names) { 
     var name_count = 0; 
     for(var i in names) { 
      // this needs to be changed to search it correctly 
      if((names[i].search(/ie/) > 0) || names[i].search(/y/) > 0) { 
       name_count++; 
      } 
     } 
     document.write('The number of special names is : '+name_count); 
    } 
</script> 

回答

2

正则表达式中的$表示字符串的结尾。所以你的regexps应该是/ie$//y$/

只需使用一个正则表达式/(ie|y)$/即可进一步简化。 |是一个OR,所以它会匹配以ie或y结尾的字符串。

2

而不是/ ie /,使用/ ie $ /。这只会匹配以ie结尾的字符串。

+0

它也与* ff *一起使用吗? – 2011-02-11 05:08:10

相关问题