2017-12-15 12 views
0

で#文字を受け入れていない正規表現です:正規表現は、ここでパスワード

("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[[email protected]$!%*#?&])[A-Za-z\\[email protected]$!%*#?&]{8,50}") 

パスワード最小8、最大50文字、少なくとも1大文字アルファベット、1小文字のアルファベット、1つのナンバーと1つの特殊文字を持っている必要があります。

しかし、それは私のために正常に動作するパスワード

+0

あなたはJavaを使用している可能性があります。正しい? –

答えて

0

で#を受け入れないこの式:

enter image description here

あなたは、あなたがそれを実装する方法を投稿してもらえますか?

0

正規表現があまりにも私のために正常に動作するようです:これは、プリントアウトし

public static void main(String[] args) throws IOException { 
    Pattern pat = Pattern.compile("(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[[email protected]!%*#?&])[A-Za-z\\[email protected]!%*#?&]{8,50}"); 
    System.out.println(pat.matcher("#GRDiD1ddddddddd").matches()); 
    System.out.println(pat.matcher("GRDiD1ddddddddd!#").matches()); 
    System.out.println(pat.matcher("GRDiD1d#ddddddd!").matches()); 
    System.out.println(pat.matcher("GRDiD1d#dd#ddddd!").matches()); 
} 

ところで
true 
true 
true 
true 

を、正規表現は冗長ドル文字が含まれているとに単純化することができます。

(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[[email protected]!%*#?&])[A-Za-z\\[email protected]!%*#?&]{8,50} 
0

("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!-/])[!-z]{8,50}") 
関連する問題