无效的正则表达式:Chrome中缺少/错误

时间:2015-06-11 13:35:29

标签: jquery regex

我使用jQuery使用正则表达式搜索特定字符串,然后用一些html代码替换该字符串。见下文

var mobile = /0330 3030 036/g;
var landline = /0800 953 0304/g;

var newLandLine = $("body").html().replace(mobile, '<span class="calltracks_lcplccouk-current-mobile-landing-page03">CORRECT</span>');

newLandLine = newLandLine.replace(landline, '<span class="calltracks_lcplccouk-lcplccoukcurrentmobilelandingpage08">CORRECT 2</span>');

$("body").html(newLandLine);

这在表面上工作正常,但当我查看Chrome控制台时,我会看到错误消息:

Uncaught SyntaxError: Invalid regular expression: missing /

有没有人对如何重新设置这个有任何建议,以便代码仍然可以运行,但错误不再显示?

我使用的HTML非常基本:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
    <title>Test Page</title>
    <script src="./test2_files/jquery.min.js"></script>
</head>

<body>
    <h1>This is a test</h1>
    <p>0330 3030 036</p>
    <p>0800 953 0304</p>
    <script>
    $(document).ready(function() {
        if (document.cookie.indexOf("l&c-original") >= 0) {} else {
            var mobile = /0330 3030 036/g;
            var landline = /0800 953 0304/g;
            var newLandLine = $("body").html().replace(mobile, '<span class="calltracks_lcplccouk-current-mobile-landing-page03">CORRECT</span>');
            newLandLine = newLandLine.replace(landline, '<span class="calltracks_lcplccouk-lcplccoukcurrentmobilelandingpage08">CORRECT 2</span>');
            $("body").html(newLandLine);
        }
    });
    </script>
</body>

</html>

非常感谢

1 个答案:

答案 0 :(得分:0)

我想问题是你的HTML包含2个你要替换的字符串。

您还在使用#[derive(Copy,Clone)] enum MyEnum { Test } 替换0330 3030 036中的var mobile = /0330 3030 036/g;

请参阅this demo

尝试使用:

<span class="calltracks_lcplccouk-current-mobile-landing-page03">CORRECT</span>