下划线在哪里:如何检查 case-insensitive 的匹配字符串

Underscore where: How to check for matching strings for case-insensitive

我正在使用 Underscore.js 库来检查我的 collection 中的电子邮件地址字符串,如果存在,如下所示:

var emailExists = this.model.get('emailmailCollection').where( {emailAddress:emailAddressValue});

它非常适合 aa@a.com 等字符串 但是当我匹配 Aa@a.com & aa@a.com, 不显示它存在.

有没有办法测试 case-insensitive 到位的电子邮件。

您可以改用filter

var emailExists = this.model.get('emailmailCollection').filter(function(email){
   return email.get('emailAddress').toUpperCase() === emailAddressValue.toUpperCase();
});

无论您在何处获得 Aa@a.com,请对其和您的输入使用 .toLowerCase() 方法。这样,您的所有数据都是小写的。

例如:

console.log("Hello WOrLD".toLowerCase())

returns

hello world

这是一种非常业余的方式,可能不适合您,但我会尝试这样做。