Javascript If语句中的jQuery正则表达式

Javascript If语句中的jQuery正则表达式,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我有以下清单 <li class='lists'>Sonata</li> <li class='lists'>http://facebook.com</li> <li class='lists'>Omega</li> <li class='lists'>Rule of Thumb</li> <li class='lists'>https://youtube.com</li>

我有以下清单

<li class='lists'>Sonata</li>
<li class='lists'>http://facebook.com</li>
<li class='lists'>Omega</li>
<li class='lists'>Rule of Thumb</li>
<li class='lists'>https://youtube.com</li>
如您所见,对于链接中的一个字符
s
,我必须使用
或|
语句并调用
wrapInner()
函数两次

有没有可能在jQuery中用正则表达式实现这一点

if ($('li.lists:contains(http/?s/://)')) {

像这样的

用于上述代码。

$('li.lists').html(函数(\ux,html){
返回html.replace(/((?:http | https):\/\/.+)$/g',);
});

var urlPattern=newregexp(“(http | https):/”;
$('li.lists').filter(函数(\u,str){
返回urlPattern.test(str.innerHTML);
}).wrapInner(函数(){
返回“”;
});

您可以对
li
中的文本执行
.test()
。例如,
regEx.test(listItem1.text())
<如果传入的参数通过正则表达式,则code>test()返回布尔值。我正在查找
的api文档。test()
找不到任何文档。也许你更清楚,这在IE8中有效吗?@JhilkeDai-Read
if ($('li.lists:contains(http/?s/://)')) {
$('li.lists:contains(http/?s/://)')
$('li.lists').html(function (_, html) {
    return html.replace(/((?:http|https):\/\/.+)$/g, '<a href="$1">$1</a>');
});
var urlPattern = new RegExp("(http|https)://");
$('li.lists').filter(function (_, str) {
    return urlPattern.test(str.innerHTML);
}).wrapInner(function () {
    return "<a href='" + $(this).text() + "'></a>";
});