需要检查密码是否包含 JAVA/ATG 中 UserName 的相同字符序列
Need to Check whether password contains same sequence of characters of UserName in JAVA/ATG
我正在做一个 ATG 项目。
我的要求是"the password should not contain the same sequence of characters as in UserName"。
例如。如果用户名是 abcdef@123.com。
那么 pw 不应该是 def@123.com
pw 不应包含相同的字符序列。
它可以包含 userName 中的字符。但是字符的ordering/sequence不应该是一样的
我该如何检查?
谢谢,
特里萨
使用 passowrdString.contains(userNameString)
您可以执行以下操作来检查密码是否包含用户名的任何序列:
public Boolean containsSequences(String uname, String pwd){
Boolean contains=false;
int count=0;
for (String seq: uname.split("/[\@\-\.\_]/g")){ //split the username following this regex.
if(pwd.indexOf(seq)>0){
count++;
}
}
if(count>0){
contains=true;
}
return contains;
}
此方法输入两个字符串(用户名和密码),然后获取用户名的子序列并测试密码是否包含其中之一,如果是则return true
pwd 包含一系列用户名。
或者你可以做得更好:
public Boolean containsSequences(String uname, String pwd){
Boolean contains=false;
for (String seq: uname.split("/[\@\-\.\_]/g")){
if(pwd.contains(seq)|| pwd.contains(seq.toUpperCase())|| pwd.contains(seq.toLowerCase())){
contains=true;
break;
}
}
return contains;
}
我正在做一个 ATG 项目。 我的要求是"the password should not contain the same sequence of characters as in UserName"。 例如。如果用户名是 abcdef@123.com。 那么 pw 不应该是 def@123.com pw 不应包含相同的字符序列。 它可以包含 userName 中的字符。但是字符的ordering/sequence不应该是一样的
我该如何检查?
谢谢, 特里萨
使用 passowrdString.contains(userNameString)
您可以执行以下操作来检查密码是否包含用户名的任何序列:
public Boolean containsSequences(String uname, String pwd){
Boolean contains=false;
int count=0;
for (String seq: uname.split("/[\@\-\.\_]/g")){ //split the username following this regex.
if(pwd.indexOf(seq)>0){
count++;
}
}
if(count>0){
contains=true;
}
return contains;
}
此方法输入两个字符串(用户名和密码),然后获取用户名的子序列并测试密码是否包含其中之一,如果是则return true
pwd 包含一系列用户名。
或者你可以做得更好:
public Boolean containsSequences(String uname, String pwd){
Boolean contains=false;
for (String seq: uname.split("/[\@\-\.\_]/g")){
if(pwd.contains(seq)|| pwd.contains(seq.toUpperCase())|| pwd.contains(seq.toLowerCase())){
contains=true;
break;
}
}
return contains;
}