Java 如何只获取用户名字符而不是空格?
在jsp应用程序中,我正在检查用户名和密码,当在用户名中输入空格表示它没有显示错误时,如何验证它?执行正则表达式验证,如果您的用户名只包含数字和字母,请执行以下操作Java 如何只获取用户名字符而不是空格?,java,jsp,Java,Jsp,在jsp应用程序中,我正在检查用户名和密码,当在用户名中输入空格表示它没有显示错误时,如何验证它?执行正则表达式验证,如果您的用户名只包含数字和字母,请执行以下操作 [A-Za-z0-9]+ 根据长度限制更改该值在检查用户名/密码之前,您可能希望trim()该值: String password = getPassword().trim(); 这将删除所有前导和尾随空格。为什么要在后端执行此操作,您可以使用javascrit正则表达式: ^([a-zA-Z0-9.]+@){0,1}([a-z
[A-Za-z0-9]+
根据长度限制更改该值在检查用户名/密码之前,您可能希望
trim()
该值:
String password = getPassword().trim();
这将删除所有前导和尾随空格。为什么要在后端执行此操作,您可以使用javascrit正则表达式:
^([a-zA-Z0-9.]+@){0,1}([a-zA-Z0-9.])+$
这将允许A-Z、A-Z、0-9和,最多一个@您有两个不同的问题:
String name = " blah is a word";
name = name.replace(" ", "");
String name = " blah is a word";
if (name.contains(" "))
{
// Wrong
} else
{
// Correct
}
如果用户在用户名之间加了一个空格,比如“用户名”而不是“用户名”,会怎么样?也就是说,按照一般惯例,这是一种非法入境。没有人期望服务器会神奇地纠正它。所以,这就是为什么需要客户端验证…?我不关心客户端的验证。我会将用户输入的任何内容发送到服务器,并让服务器决定输入的字符串是否为有效用户名。我唯一的服务器端服务:修剪以删除前导空格和尾随空格。