需求:
有一个输入框和一个按钮,点击这个按钮后 自动将输入框里面带有网址的字符串加上链接。
如:现在输入框里的内容是“呵呵testhttp://www.baidu.com还好”,
点击button后输入框的里的内容就变成
“呵呵<a target="_blank" href="http://www.baidu.com">http://www.baidu.com</a>”
ps:只匹配是以http://开头的网址,如:http://www.baidu.com,当然 ,“http://www.baidu.com123”这样也算匹配

解决方案 »

  1.   


    var s = '呵呵testhttp://www.baidu.com还好';
    var r = /.*?(http:\/\/[\w.]+).*/;
    var e = r.exec(s);
    if(e!=null)
    alert(s.replace(RegExp.$1,"<a href='"+RegExp.$1+"'>"+RegExp.$1+"</a>"));
      

  2.   


    <!DOCTYPE>
    <html>
    <head>
    <title></title>
    <script type='text/javascript'>
    var func = function(e){
    var txt = document.getElementById('txt');
    txt.value = txt.value.replace(/(http:\/\/[-.\w]+)/g,'<a target="_blank" href="$1">$1</a>');
    }; </script>
    </head>
    <body>
    <button type='button' onclick="func(event)">click</button>
    <input type="text" id="txt" value="呵呵http://www.baidu.com123你好" size='80' />
    </body>
    </html>
      

  3.   

    if(input.value)
        input.value = input.value.replace(/(https?:\/\/\w+)/ig, '<a target="_blank" href="$1">$1</a>')
      

  4.   

    <input type="text" id="str" size="100" />
    <input type="button" onclick="func()" value="转换" /><script type="text/javascript">
    function func()
    {
        var regex = /http:\/\/((?!http:\/\/)[^\u4e00-\u9fa5])+/gi;
        var o = document.getElementById("str");
        var str = o.value;
        str = str.replace(regex,function(w)
            {
                 return "<a target=\"_blank\" href=\""+ w +"\">"+ w +"</a>";
            }
        )
        o.value = str;
    }</script>