JavaScript:忽略字符串大小写敏感性

12

在JavaScript中,我正在尝试使用用户的输入来搜索我的数据库。例如,用户输入为"monster",而我的数据库中的数据为"Monster"。如何使它不区分大小写进行匹配?


你是否在寻找类似这样的内容:https://dev59.com/mHVC5IYBdhLWcg3wz0l9 - zengr
@zengr 我认为这不是他们要找的。这涉及到搜索数据库,而不是搜索字符串:D - Gordon Gustafson
4个回答

23

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

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

(我假设你的数据库示例只是一个示例,因为数据库通常忽略字符串的大小写:)


1
请使用match(),而不是search()。

0

你应该将 JavaScript 字符串和数据库 where 子句都转换为小写字符串。

但我猜像 SQL Server 和 MySQL 这样的数据库在字符串方面都是不区分大小写的。


-1
如果您正在使用AJAX,那么您就在使用服务器端语言。为什么不让服务器脚本规范化数据呢?您甚至可以将此任务委托给数据库,使用适当的UPPER和LOWER函数,但出于安全原因,数据规范化应该是服务器端脚本的任务。
您可以使用JS预先检查数据的长度和语法,主要是为了帮助和防止用户犯错,但您永远不应查询未处理的JS数据。即使您验证了数据,任何人都可以操纵JS并查询a' OR 1=1; DROP TABLE users;--

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接