jQuery:使用正则表达式搜索单词的textarea值

时间:2011-09-14 14:28:34

标签: javascript jquery regex

我有以下代码:

<script type="text/javascript">
    $(function(){
        var txt = new Array();
        var count = 0;
        $('textarea[id*="page_parts_attributes_"]').each(function(){
            var html = $(this).html($(this).val());
            var matches = $(html).match(/\b/g)
            if(matches) {
                txt[count] = jQuery.trim(matches).length / 2
                count++;
            }
        });
        var final_count = eval(txt.join('+'));
        console.log(Math.floor(final_count));
    })
</script>

我基本上试图在textarea中搜索单词。我必须将textarea的值转换为HTML,然后我想在HTML中搜索单词......但它不起作用......

任何想法?

2 个答案:

答案 0 :(得分:1)

var html = $(this).html($(this).val());
var matches = $(html).match(/\b/g)

应该是

var matches = $(this).val().match(/\b/g);

答案 1 :(得分:0)

textarea的值已经是一个字符串。 html方法不像您认为的那样工作。删除您尝试使用的位html应该是一个简单的问题。

<script type="text/javascript">  
    $(function(){  
        var txt = new Array();  
        var count = 0;  
        $('textarea[id*="page_parts_attributes_"]').each(function(){  
            var text = $(this).val();  
            var matches = text.match(/\b/g)  
            if(matches) {  
                txt[count] = jQuery.trim(matches).length / 2  
                count++;  
            }  
        });  
        var final_count = eval(txt.join('+'));  
        console.log(Math.floor(final_count));  
    })  
</script>