2016-10-12 2 views
2
boolean valid = true; 

    if (Lnamee.isEmpty() || Pattern.compile("^[a-zA-Z]+$").matcher(Lnamee).matches()) { 
     Lname.setError("Enter letters only!"); 

     valid = false; 
    } 

    if (Mnamee.isEmpty() || Pattern.compile("^[a-zA-Z]+$").matcher(Mnamee).matches()) { 
     Mname.setError("Enter letters only!"); 
     valid = false; 
    } 

    if (Fnamee.isEmpty() || Pattern.compile("^[a-zA-Z]+$").matcher(Fnamee).matches()) { 
     Fname.setError("Enter letters only!"); 
     valid = false; 
    } 

    if (Emails.isEmpty() || Pattern.compile("[a-zA-Z0-9]" + "\\@" + "[a-zA-Z]" + "\\." + "[a-zA-Z]").matcher(Emails).matches()){ 
     Email.setError("Enter valid e-mail address!"); 
     valid = false; 
    } 

    if (Passwords.isEmpty() || Passwords.length() < 8){ 
     Password.setError("Password must be 8 characters!"); 
     valid = false; 
    } 
    return valid; 

Образец регулярного выражения для имен по-прежнему принимает число, которого не должно быть. Есть ли проблемы с шаблонами проверки? Я попытался найти других, но все же он принимает цифры.Regex on name по-прежнему принимают номера

+0

Вы уверены, что не собираетесь писать «if (name empty || regex НЕ соответствует)»? – nhouser9

+0

Вы должны прочитать https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/, особенно пункт №16 – Olumide

ответ

0

Все ваши предложения if не содержат отрицаний.

Я думаю, что если заявления должны иметь! на вызов регулярного выражения.

if (Lnamee.isEmpty() || ! Pattern.compile("^[a-zA-Z]+$").matcher(Lnamee).matches()) { 
+0

, используя! до того, как pattern.compile по-прежнему принимает номера – Jacky

+0

Вы уверены, что он не работает? Для меня шаблон работает. Каков вклад, который вы даете? – user3540481

+0

на имя, я попытался ввести: User1, но все же он принимает вход пользователя – Jacky

0

ваш код работает. он не принимает номера

if (Lnamee.isEmpty() || Pattern.compile ("^ [a-zA-Z] + $"). matcher (Lnamee) .matches()) { Lname.setError («Введите буквы только!»);

valid = false; 
}