2011-02-11 2 views
0

У меня есть базовый код JavaScript, который должен рассказать, сколько имен из 5 заканчивается на «i» или «ly». У меня есть код, чтобы рассказать, сколько из них содержат «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

$ в регулярном выражении означает конец строки. Поэтому ваши регулярные выражения должны быть /ie$/ и /y$/.

Вы можете упростить использование только одного регулярного выражения /(ie|y)$/. | является OR, поэтому он будет соответствовать строкам, заканчивающимся на ie или y.

2

Вместо/ie/использовать/ie $ /. Это будет соответствовать только строкам, которые заканчиваются на ie.

+0

Работает ли это также с * ff *? –

Смежные вопросы