gpt4 book ai didi

javascript - js比较变量和div文本

转载 作者:行者123 更新时间:2023-12-02 14:48:01 25 4
gpt4 key购买 nike

我正在尝试比较 div 内文本的值(这是一个句子。)和 js 变量中定义的文本:

function isSame(){
s="This is a sentence."
var text1 = $('#right').text();
var t1 = text1.replace(/ /g,'').replace(/&nbsp;/g, '').replace(/\<br\s*[\/]?>/gi, '').replace('\t','');
var s1 = s.replace(/ /g,'').replace(/&nbsp;/g, '').replace(/\<br\s*[\/]?>/gi, '').replace('\t','');
console.log(s1+" VS "+ t1);
if (t1 == s1){
console.log("Same");
} else {
console.log("Not same...");
}
}

所有 .replace 都是因为在控制台上我在 div 中有额外的选项卡(其中有样式)我有额外的空格。控制台日志显示:

Thisisasentence. VS 

Thisisasentence.

Not same...

我缺少什么?

最佳答案

您是否尝试过使用 trim() 方法而不是整个正则表达式?

documentation for String.prototype.trim() 中所述,在 MDN 中:

The trim() method removes whitespace from both ends of a string. Whitespace in this context is all the whitespace characters (space, tab, no-break space, etc.) and all the line terminator characters (LF, CR, etc.).

我相信您的代码应该减少为:

function isSame() {
var s = "This is a sentence.";
var text1 = $('#right').text();

console.log(s1 + " VS " + t1);
if (text1.trim() === s1) {
console.log("Same");
} else {
console.log("Not the same...");
}
}

比较将按预期进行。

<小时/>

更新:

正如 Ysharp 的进一步回答中已经提到的那样和 Rob Brander ,您可以通过将正则表达式扩展到其他匹配新行和回车元素来增加正则表达式。这将通过向其添加 \s+ 匹配器来更改当前的正则表达式,从而导致:

replace(/\s+/g, '')

关于javascript - js比较变量和div文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36431999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com