2

アプリケーションのパスワード フィールドを検証しようとしています。文字列にスペースが含まれているかどうかを確認する検証を行っていますが、「#」などの特殊文字は受け入れられません。

ユーザーが特殊文字を入力できるようにする必要がありますが、空白の使用は許可しません。
これが私の検証コードです。

Pattern pattern = Pattern.compile("\\s");
        Matcher matcher = pattern.matcher(oldPass);
        Matcher matcher1 = pattern.matcher(newPass);
        boolean found = matcher.find();
        boolean found1 = matcher1.find();
        if(found || found1)
        {
            DisplayError(Constants.PASSWORD_CANNOT_CONTAIN_SPACES);
        }  

何かヒントや参考になれば幸いです。

アップデート

if (newPass.indexOf(' ') != -1 || oldPass.indexOf(' ') != -1) {
    DisplayError(Constants.PASSWORD_CANNOT_CONTAIN_SPACES);
}
4

1 に答える 1

4

正規表現を使うのは簡単すぎると思います。

if (password.indexOf(' ') != -1) {
    // display error
}
于 2013-10-24T14:24:56.847 に答える