用JS转换任何以hashtag开头的东西.但前提是超过3个字符

Converting anything that starts with hashtag with JS. But only if over 3 characters

本文关键字:前提 字符 3个 任何 转换 JS hashtag 开头      更新时间:2023-09-26

我有一个简单的问题,我似乎只是不能弄清楚。我正在转换所有以#开始的文本为链接。

一切都很好,我的问题是我想要它转换只有当以#开头的单词是3个字符或更多(不包括#)。

我想把这些转换成一个链接:

#test #cool #stackoverflow

我不希望这些转换成链接:

#ok #no #m

替换要链接的单词的函数如下:

function linkHashtags(text) {
    hashtag_regexp = /#([a-zA-Z0-9]+)/g;
    return text.replace(hashtag_regexp,
        '<a href="/search/$1">#$1</a>');
}

然后我像这样调用函数:

$('.text p').each(function () {
    $(this).html(linkHashtags($(this).html()));
});

使用区间运算符语法

/#([a-zA-Z0-9]{3,})/g;

{3,}基本上告诉它测试3个或更多字符