求js正则表达式

henrycomein 2011-07-12 09:08:24
需求:
有一个输入框和一个按钮,点击这个按钮后 自动将输入框里面带有网址的字符串加上链接。
如:现在输入框里的内容是“呵呵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”这样也算匹配
...全文
106 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
挨踢直男 2011-07-12
  • 打赏
  • 举报
回复
<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>
henrycomein 2011-07-12
  • 打赏
  • 举报
回复
谢谢帮忙
wangshutai 2011-07-12
  • 打赏
  • 举报
回复
if(input.value)
input.value = input.value.replace(/(https?:\/\/\w+)/ig, '<a target="_blank" href="$1">$1</a>')
汉尼拔 2011-07-12
  • 打赏
  • 举报
回复

<!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>
fengyun817 2011-07-12
  • 打赏
  • 举报
回复

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>"));

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧