空间无法在javascript中转换

时间:2018-09-19 07:43:36

标签: javascript html

以下代码仅将“ \”替换为空白,然后将结果字符串与实际文本进行比较,但结果始终为“不等于”,因为在替换函数调用之后,变量文本始终占用一个空格。控制台日志显示相同的文本和内容值;但是在比较时,它给出了错误的

<!DOCTYPE html>
<html>
    <head></head>
<body>

    <p id="result"></p>
    <br><br>

    <p id="html"></p>
    <br>
    <p id="content"></p>

    <script>

        var text = "Lorem ipsum dolor sit&nbsp;&nbsp; amet, consectetur adipiscing elit. Sed tortor risus, pharetra eu laoreet at, rhoncus quis ipsum. Mauris dictum orci sed libero pretium sollicitudin".replace(/&nbsp;/gi, ' ');

        var content = "Lorem ipsum dolor sit   amet, consectetur adipiscing elit. Sed tortor risus, pharetra eu laoreet at, rhoncus quis ipsum. Mauris dictum orci sed libero pretium sollicitudin";

        console.log(text);
        console.log(content);

        var result = "";
        if (text == content) {
            result = "Equal";
        } else {
            result = "Not Equal";
        }

        document.getElementById("result").innerHTML = result; 
        document.getElementById("html").innerHTML = text;
        document.getElementById("content").innerHTML = content;

    </script>

</body>
</html>

2 个答案:

答案 0 :(得分:1)

在字符串中使用&nbsp;时,它将按字面意义解析为这些字符。相反,如果您想要一个不间断的空格,则应使用\xa0字符,这是一个不间断的空格字符。

答案 1 :(得分:0)

在声明文本变量之后,请勿执行此.replace(/&nbsp;/gi, ' ');。相反,在这里做

var result = "";
if (text.replace(/&nbsp;/gi, ' ') == content) {
    result = "Equal";
} else {
     result = "Not Equal";
}
相关问题