Jquery 是否将以/开头的任何超过8个字符的字符串替换为链接?

Jquery 是否将以/开头的任何超过8个字符的字符串替换为链接?,jquery,regex,Jquery,Regex,如何使用jQuery将任何以/开头且超过8个字符的文本字符串(文本字符串在第一个空格处结束)替换为指向imugr.com/此处文本字符串的链接 例如: /sA9xK4D将转换为 /Pq9xV39x a,#xK2F将转换为a,#xK2F 此代码不起作用;它说未定义不是一个函数 content = $("body").replace(/(\/[a-zA-Z0-9]{1,8})(?=\s)/g, '<a href="http://www.imgur.com$1" target="_blank"&

如何使用jQuery将任何以/开头且超过8个字符的文本字符串(文本字符串在第一个空格处结束)替换为指向imugr.com/此处文本字符串的链接

例如:

/sA9xK4D
将转换为

/Pq9xV39x a,#xK2F
将转换为
a,#xK2F

此代码不起作用;它说未定义不是一个函数

content = $("body").replace(/(\/[a-zA-Z0-9]{1,8})(?=\s)/g, '<a href="http://www.imgur.com$1" target="_blank">$1</a>');
$("body").html(content) 
content=$(“body”)。替换(/(\/[a-zA-Z0-9]{1,8})(?=\s)/g');
$(“body”).html(内容)

尝试将第一部分捕获到组1中,将下一部分捕获到组2中

^(\/[^\s]*)(.*)

以下选项应适合您的需要:

(/[a-zA-Z0-9]{8,})(?=\s)

替换为

可视化

演示


如何在JavaScript中使用它(示例):

//初始内容
var content=document.getElementById(“init”).innerHTML;
//使用“全局”标志替换
//看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp
内容=内容。替换(/(\/[a-zA-Z0-9]{8,})(?=\s)/g',);
//在其他div中设置替换的内容
document.getElementById(“替换”).innerHTML=content;
演示

尝试以下示例:

var re = /\/[\w\d]{8,}/;
var string = "this is my string /aZ2scXo35676";

var link = string.match(re)[0]; // will match "/aZ2scXo35676"

var result = string.replace(re, TEMP.replace(/\[AAA\]/g, link[0]))

// result will equal 'this is my string <a href="industus.com/aZ2scXo35676">/aZ2scXo35676</a>'
var re=/\/[\w\d]{8,}/;
var string=“这是我的字符串/aZ2scXo35676”;
var link=string.match(re)[0];//将匹配“/aZ2scXo35676”
var result=string.replace(re,TEMP.replace(/\[AAA\]/g,link[0]))
//结果将等于“这是我的字符串”

我认为您需要一个正则表达式,而不需要jQuery。JavaScript有本机正则表达式。对不起,我不熟悉。超过8个字符(8个或更多)。此外,我还向问题中添加了代码,但我如何在jQuery中使用它?问题是,您使用最终标记想要实现什么?您试图使用jquery的确切目的是什么?旁注:
\w
已经包含
\d
\w
[0-9A-Za-z]
\d
[0-9]
),因此
[\w\d]
有点多余,可以简单地用
\w
代替。