Javascript 修复从twitter url提取twitter id的正则表达式
我的所见即所得编辑器有一个bug。 我有一个框,在那里我通过了一个tweet url,我必须提取ID以用嵌入代码替换它Javascript 修复从twitter url提取twitter id的正则表达式,javascript,regex,Javascript,Regex,我的所见即所得编辑器有一个bug。 我有一个框,在那里我通过了一个tweet url,我必须提取ID以用嵌入代码替换它 regex: { twitter: /https?:\/\/twitter.com\/[a-zA-Z_]{1,20}\/status\/([0-9]*)/ } if (str.match(this.opts.regex.twitter)) { parsed = str.replace(this.opts.regex.twitter, '<bl
regex: {
twitter: /https?:\/\/twitter.com\/[a-zA-Z_]{1,20}\/status\/([0-9]*)/
}
if (str.match(this.opts.regex.twitter)) {
parsed = str.replace(this.opts.regex.twitter, '<blockquote class="twitter-tweet tw-align-center"><a href="https://twitter.com/x/status/$1">TWEET $1</a></blockquote>');
return parsed;
}
如果我使用这个url
https://twitter.com/howard3141/status/1330546000969273347
它不起作用,因为“howard3141”中有一些数字。因为您需要从URL获取数据,
窗口。位置提供了很好的API来获取价值
下面是它的演示
注意:我正在使用创建一个类似位置的对象,但它应该与window.location一起使用
var url=新url(“”,'https://twitter.com/howard3141/status/1330546000969273347')
console.log(url.pathname.match(/\/([^\/]*)\/)[1])
请解释什么是合法的twitter用户名。为什么不将任何内容与下一个斜杠匹配<代码>[^/]+
而不是[a-zA-Z{1,20}
。如果您只想处理数字,请添加\d
/https?:\/\/twitter.com\/[0-9a-zA-Z\]{1,20}\/status\/([0-9]*)/
将数字作为[0-9a-zA-Z\//code>添加到您的用户名表达式中。为什么不使用location.pathName.match(/\/\/(.\/)/[1]
https://twitter.com/howard3141/status/1330546000969273347