以下代码仅将“ \”替换为空白,然后将结果字符串与实际文本进行比较,但结果始终为“不等于”,因为在替换函数调用之后,变量文本始终占用一个空格。控制台日志显示相同的文本和内容值;但是在比较时,它给出了错误的
<!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 amet, consectetur adipiscing elit. Sed tortor risus, pharetra eu laoreet at, rhoncus quis ipsum. Mauris dictum orci sed libero pretium sollicitudin".replace(/ /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>
答案 0 :(得分:1)
在字符串中使用
时,它将按字面意义解析为这些字符。相反,如果您想要一个不间断的空格,则应使用\xa0
字符,这是一个不间断的空格字符。
答案 1 :(得分:0)
在声明文本变量之后,请勿执行此.replace(/ /gi, ' ');
。相反,在这里做
var result = "";
if (text.replace(/ /gi, ' ') == content) {
result = "Equal";
} else {
result = "Not Equal";
}