2016-10-12 14 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; 

名前の正規表現パターンは、それほど許されない数字を受け入れます。検証パターンにいくつか問題がありますか?私は可能な他のものを探すことを試みたが、それでも数字を受け入れる。正規表現の名前は依然として数字を受け入れます。

+0

"if(name empty || regex does not match)"と書くのは本当ですか? – 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; 
} 
関連する問題