У меня есть следующий код:проверки порядка с фильтром
String sPassword = pssfldLoginPsw.getText();
boolean match = sPassword.matches("[a-zA-Z+]+[0-9+]+[&@!#+]+");
if (match==false)
{
System.out.println("Didn't Work");
}
if (match==true)
{
System.out.println("Work");
}
И это отлично работает, если я вход [email protected]
или G2!
. Однако, если я ввожу что-то вроде !G2
или [email protected]
, он устанавливает match=false
. Поскольку это поле должно содержать букву, номер и неаппанумерный символ, но оно должно иметь их в любом порядке. Как мне это сделать?
Я предлагаю не делать это с одним регулярным выражением. Вместо этого попробуйте 3 из них. –
Каковы возможные значения, которые вы хотите разрешить? Я должен быть в состоянии дать вам точное регулярное выражение, но мне нужно знать, что вы хотите разрешить. Например, ваше текущее регулярное выражение допускает только групповые символы в конце пароля. Поэтому правильно отклонять пароли с помощью подстановочных знаков посередине. – Ractoc
Я бы хотел, чтобы он проверялся до тех пор, пока он имеет букву (верхний или нижний регистр), номер и не буквенно-цифровой символ (или подстановочный знак, как я думаю, вы его называете) в любом месте пароля, который будет принят, иначе Я бы не хотел, чтобы это было принято. @Ractoc – Dan