javascript:忽略字符串的区分大小写

时间:2010-04-12 00:17:19

标签: javascript case-insensitive

在JavaScript中,我正在尝试使用用户的输入来搜索我的数据库。例如,用户输入是“怪物”,我的数据库的数据是“怪物”。无论它的外壳如何,我怎么能匹配呢?

4 个答案:

答案 0 :(得分:23)

Javascript字符串不区分大小写的比较可以使用string.toUpperCase执行。

if (input.toUpperCase() === "OTHER STRING")
    ....

(我假设您的数据库示例只是一个示例,因为数据库通常会忽略字符串的情况:)

答案 1 :(得分:1)

使用match()而不是search()。

答案 2 :(得分:0)

您应该将javascript字符串和数据库where子句转换为使用小写字符串。

但我想像sql server和mysql这样的数据库在字符串方面都不区分大小写。

答案 3 :(得分:-1)

如果你正在使用AJAX,那么你使用的是服务器端语言。为什么不让服务器端脚本规范化数据?您甚至可以使用正确的UPPER和LOWER函数将此任务委派给数据库,但出于安全原因,数据规范化应该是服务器端脚本的任务。

您可以使用JS根据长度和语法预先检查数据,主要是为了帮助和防止用户犯错,但您应该做的一件事是查询未经处理的JS数据。任何人都可以操纵JS并查询a' OR 1=1; DROP TABLE users;--,即使您验证了数据。