需求:
有一个输入框和一个按钮,点击这个按钮后 自动将输入框里面带有网址的字符串加上链接。
如:现在输入框里的内容是“呵呵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”这样也算匹配
有一个输入框和一个按钮,点击这个按钮后 自动将输入框里面带有网址的字符串加上链接。
如:现在输入框里的内容是“呵呵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”这样也算匹配
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>"));
<!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>
input.value = input.value.replace(/(https?:\/\/\w+)/ig, '<a target="_blank" href="$1">$1</a>')
<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>