2015-09-25 2 views
0

Я пытаюсь проверить TextArea {в основном поле «Комментарии»}, которое примет почти все символы и специальные символы с включенными пробелами. Ограничение: я хочу использовать только тег validateRegex JSF. Я не хочу использовать Java-класс validator. В моем коде я сделал, как показано ниже

<f:validateRegex pattern="^[a-zA-Z0-9\s_\s-.]*[@#$%!]*$"> 

текстовое поле не принимает любую строку с '#, $,%,(),?,! несмотря на включение в регулярное выражение, но он принимает только «@». Может ли кто-нибудь помочь мне создать правильное регулярное выражение для этого поля textarea в JSF.

+0

Вы должны скрывать обратную косую черту и можете объединить два символьных класса в один: ''^[\\ w \\ s. @ # $%! -] * $ "'. Кроме того, попробуйте '' '[\\ w \\ s. @ # $%! -] *" '', поскольку 'match()' похоже, используется с регулярным выражением. –

+0

Нет, это не работает, если я помещаю внутри тега jsf textarea не принимает ничего подобного строковым значениям как «описание причины не работает!» или "является причиной работы?" –

+0

Какая версия JSF/версия? Какой EL impl/version? Я помню MyFaces 2.x на Tomice 1.x/2.x, требуя двойной обратной косой черты вместо одиночных обратных косых черт, чтобы заставить ее правильно анализировать регулярное выражение. – BalusC

ответ

-1

Это принимает то, что вы хотите. Любая комбинация букв, цифр, пробелов, подчеркивания, минус, «.», «@», «#», «$», «@» И «!». «?»

^[\w\s\-.\@#\$%!]*$ 

Если вы хотите, «(» и «)», чтобы подтвердить использование этого:

^[\w\s\-.\@#\$%!\?\(\)]*$ 
-1

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