基本上,我需要一个代码,每当用户键入一个字母时,我都需要不断检查特定字符串在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>
即使我有一个以上的匹配,我只返回一个当前代码。任何帮助将不胜感激。
答案 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);
}