使用Javascript客户端计算文本区超链接的最佳方法

Best way to count hyperlinks in textarea using Javascript client-side?

本文关键字:最佳 方法 超链接 文本区 Javascript 客户端 计算 使用      更新时间:2023-09-26

我们有一个textarea控件用来保存文本和超链接。链接的存储方式如下:

http://www.google.com [Link to a site __title__ Title of Link]
http://www.yahoo.com [http://www.yahoo.com __title__ Link with text & hyperlink the same]

在第二个链接中,我不想计算yahoo两次,所以我想忽略以左括号开始的链接。我知道使用Regex来做这件事不是最好的方法,但是我不知道还有什么其他的方法可以做到这一点。到目前为止,我已经尝试了这个正则表达式,但我发现Javascript不支持向后看:

(?<!'[)((http|https|ftp)'://(www'.)?)(([a-zA-Z0-9'.-]+'.[a-zA-Z]{2,4})|([0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}'.[0-9]{1,3}))(/[a-zA-Z0-9%:/_'?'.'~&=-]*)

谁知道一个体面的方法来完成这个?

我刚刚发现我也不能依赖括号。用户可以输入任何类型的链接,使用我们的工具来创建括号,或者自己手动输入。

统计文本区内容中字符[的个数
如果您上面提到的格式仍然存在,那么上述解决方案将有效。

你只需要一个计数?你能不能先数一下所有的链接然后再数从左括号开始的所有链接,然后相减?