0

如何使用 jquery regex 函数显示匹配的字符串:

var textarea = "There are two URLs: http://example1.com and http://example2.com";
var filter_url = /(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-=?]*)*\/?/;

if (filter_url.test(textarea)) {              
  $('#show_match').html('// show matched URLs //');    
  $('#show_match').fadeIn();                 
}         

结果:

<div id="show_match">http://example1.com http://example2.com</div>

Jsfiddle 示例

4

1 回答 1

2

你可以这样做:

$("a#check").click(function () {

    var textarea = "There are two URLs: http://example1.com and http://example2.com";
    var filter_url = /(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w\.-=?]*)*\/?/g,
        m;

    if (m = textarea.match(filter_url)) {
        $('#show_match').html(m.join('<br>'));
        $('#show_match').fadeIn();
    }
});

http://jsfiddle.net/D5uLE/1/

所以要注意两点。g您应该在您的正则表达式中添加一个全局标志。然后你应该使用String.match方法,它会给你一个找到的子字符串数组:

["http://example1.com", "http://example2.com"]

然后你可以遍历这个数组并用它做任何你想做的事情。在上面的例子中,为了简单起见,我只是加入了它<br>

于 2013-07-06T15:25:09.200 回答