java - 使用trim()删除空格,但仍然没有得到预期的输出

标签 java string

好的,我正在开发基于 Spring MVC 的 Web 应用程序,应用程序显示数据是列表,并且我还促进过滤器选项以增强搜索功能,我还通过使用 trim() 删除额外的空间,但是现在当用户输入时发生了什么在文本字段中输入数据并输入相应的结果将显示到列表中,但是如果输入后添加空格,即使我也在javascript中处理空格,结果也会是“NOT FOUND”

从数据库获取数据的Java代码

 if (searchParamDTO.getRegNO().trim() != null && !searchParamDTO.getRegNO().trim().equals("") && !searchParamDTO.getRegNO().trim().equals("null")) {
                    query += " AND UR.REG_UNIQUE_ID = :REG_UNIQUE_ID ";
                    param.addValue("REG_UNIQUE_ID", searchParamDTO.getRegNO());
                }

JavaScript代码:获取代表id的值

function setSearchParameters() {
    regNo = $('#regNo').val().trim();}

我还附上了两张带空格和不带空格的屏幕截图 enter image description here

enter image description here

没有空格 有空间

最佳答案

我建议在服务器端也进行修剪。
在服务器端进行验证总是更好,因为我们可以对不同的 UI 应用程序使用相同的服务代码,并且请求可能包含错误或篡改的数据。

 String regNo = searchParamDTO.getRegNO().trim();
 if (regNo != null && !"".equals(regNo) && !"null".equals(regNo)) {
                    query += " AND UR.REG_UNIQUE_ID = :REG_UNIQUE_ID ";
                    param.addValue("REG_UNIQUE_ID", regNo);
                }

关于java - 使用trim()删除空格,但仍然没有得到预期的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39717292/

相关文章:

java - 尝试使用 "setVariable"

java - 如何在TimePicker上创建两个时间范围? java

android - 如何在不使用 mbstowcs 的情况下在 C++ 中将 ASCII char* 转换为 wchar_t*?

c++ - 将 void* 转换为 std::string

ios - Swift 中的字符和字符串

linux - 如何让 grep 将任何字符视为常规字符

java - Android 中的 RSA 加密

java - 安装的 JRE/JDK 未显示在 Eclipse Mars 的执行环境中

java - android :onClick and View. OnClickListener 之间的关系

Python 迭代切片日期字符串列表的最快方法