js 正则匹配 url

正则匹配规定范围的url

需求要求,textarea里面的文本如果有http开头以#code=股票代码结束的url要给其加上a链接发送给后台。

写了个例子如:

<textarea id="text">这个是测试的地址:http://news.10jqka.com.cn/field/20140701/566341184.shtml#code=300032#code=300032
测试测试测试文本</textarea>
     <script type="text/javascript">
    var str = document.getElementById('text').value;
    alert(str);   
    var reg = str.match(/http:(.)*#code=[\w]+/ig);
    alert(reg);
    var strings = str.replace(reg[0],'<a href="'+reg[0] +'">'+reg[0]+'</a>');
    alert(strings)
    </script>

alert(str);出来的是textarea的里面的内容

alert(reg);出来的匹配到的:http://news.10jqka.com.cn/field/20140701/566341184.shtml#code=300032#code=300032

alert(strings);出来的是<a href="http://news.10jqka.com.cn/field/20140701/566341184.shtml#code=300032#code=300032">http://news.10jqka.com.cn/field/20140701/566341184.shtml#code=300032#code=300032</a>

最后是把strings传给后台

分享一个网站正则匹配 http://www.rubular.com/

<textarea id="text" style="width:300px; height:400px"></textarea>
    <input type="button" id="inn" value="jjj" />
     <script type="text/javascript">
    $("#inn").click(function(){
      var str = document.getElementById('text').value;
      var aaa = str.replace(/<br\s*\/?\s*>/ig,"\n").replace(/<\/?[^>]*>/g, '');
      var bbb = str.replace(/<br\s*\/?\s*>/ig,"\n").replace(/<\/?[^>]*>/g, '').replace(/(&nbsp;)|\u00a0/g,' ');
    alert(aaa);
    alert(bbb);
    });
   
    </script>

replace(/<br\s*\/?\s*>/ig,"\n");是把<br />换成\n输出

.replace(/<\/?[^>]*>/g, '');过滤所有的html标签

.replace(/(&nbsp;)|\u00a0/g,' ');把&nbsp;换成空输出

正则表达式学习

http://www.oschina.net/question/12_9507

相关推荐