在JavaScript中,我正在尝试使用用户的输入来搜索我的数据库。例如,用户输入是“怪物”,我的数据库的数据是“怪物”。无论它的外壳如何,我怎么能匹配呢?
答案 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;--
,即使您验证了数据。