用于在键入时匹配文本的Javascript

时间:2011-12-23 09:25:25

标签: javascript

基本上,我需要一个代码,每当用户键入一个字母时,我都需要不断检查特定字符串在textarea中出现的次数。

  <textarea name="t_update" cols="50" rows="5" id="t_update" style="width:30%"
 onKeyUp="check()" ></textarea>

 <script>
     function check(){
         var cText = document.getElementById('t_update').value;
         if (cText.match("abc")){
             //Do something
         }else{
             //Do something else.
         }
         alert(cText.match("abc").length);
     }
 </script>

即使我有一个以上的匹配,我只返回一个当前代码。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

使用匹配正则表达式和全局

cText.match(/abc/g).length

//测试

cText = "aaabbbbcccabcabchalloabc" 

Firebug Console
cText = "aaabbbbcccabcabchalloabc" cText.match(/abc/g).length
>> 3

答案 1 :(得分:0)

您可以像这样在字符串上使用split:

 function check(){
   var cText = document.getElementById('t_update').value,
   matches = cText.split('abc').length-1;

   if (matches){
    //Do something
   }else{
     //Do something else.
   }
   alert(matches);
 }