JSF: проверка для специальных символов - PullRequest
1 голос
/ 28 июня 2010

Я хочу применить проверку для специальных символов, таких как (,/'#~@[]}{+_)(*&^%$£"!\|<>) используя валидатор JSF. я реализовал валидатор для числа, но теперь я хочу сделать валидатор для специальных символов.

value.toString().trim().matches();

Каким будет регулярное выражение внутри метода matches() в классе java?

я хочу разрешить все поля, кроме указанных символов.

заранее спасибо

1 Ответ

3 голосов
/ 28 июня 2010

Почему бы вам просто не разрешить буквенно-цифровые символы только ?

if (!value.toString().trim().matches("\\p{Alnum}*")) {
    throw new ValidatorException(new FacesMessage("Invalid characters!"));
}

Если вы действительно хотите идти вперед в этом направлении.Чтобы проверить, содержит ли строка эти символы, используйте это:

if (value.toString().trim().matches(".*[,/'#~@\\x5B\\x5D}{+_)(*&^%$£\"!\\|<>]+.*")) {
    throw new ValidatorException(new FacesMessage("Invalid characters!"));
}

Имейте в виду, что в кодировке Unicode доступно гораздо больше символов, которые вы, вероятно, также хотели бы запретить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...