【发布时间】:2018-11-13 12:14:28
【问题描述】:
我正在研究一个使用 JavaScript 的“待办事项”列表应用程序。 当存在 https、https 或 ftp 时,其中一个函数将文本转换为超链接。
我想扩展它,所以如果我的文本包含 # 后跟任何 5 位数字,那么它也将成为一个链接。网址应为http://192.168.0.1/localsite/testschool/search.php?id=ID
其中 ID 是 # 和 5 位数字。
这是当前的 Javascript:
function prepareHtml(s)
{
// make URLs clickable
s = s.replace(/(^|\s|>)(www\.([\w\#$%&~\/.\-\+;:=,\?\[\]@]+?))(,|\.|:|)?(?=\s|"|<|>|\"|<|>|$)/gi, '$1<a href="http://$2" target="_blank">$2</a>$4');
return s.replace(/(^|\s|>)((?:http|https|ftp):\/\/([\w\#$%&~\/.\-\+;:=,\?\[\]@]+?))(,|\.|:|)?(?=\s|"|<|>|\"|<|>|$)/ig, '$1<a href="$2" target="_blank">$2</a>$4');
};
使用prepareHtml(item.title)调用
知道我该怎么做吗?
我已经制定了正则表达式来匹配 # 和 5 位数字是 ^#([0-9]{5}) 但我不确定如何在函数中实现它。
谢谢
【问题讨论】:
标签: javascript regex function