我正在制作一个程序,它可以使用用户数据来注册帐户。对于其中一个部分,我想在他们选择的密码中包含与用户名类似的单词时发出一条错误消息。例如:用户名 = John
。 密码=5john123
。错误!您的密码不能包含用户名。我翻阅了过去的问题,找到了对我有帮助的答案。但仅限于某一点。有人建议的代码只是这样做,如果密码和用户名完全相同,那么它会显示一条错误消息。这是他们的建议:
if (Arrays.asList(password.split("[\\s]")).indexOf(name) != -1)
System.out.println("Error! Your password cannot include your username");
else
System.out.println("valid password");
上面的代码仅在密码和用户名相同的情况下才有效。如果任何一方添加任何东西,它就不起作用。
如何修改这个,以便无论两边添加数字,它仍然会检测用户名是否包含在密码中?谢谢。
最佳答案
你可以这样做:
String userName = "John";
String password = "5john123";
if (password.toLowerCase().contains(userName.toLowerCase())) {
System.out.println("Error! Your password cannot include your username");
} else {
System.out.println("valid password");
}
关于java - 将单词与其他文本匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27110110/