Проверка данных для определенных специальных специальных символов - PullRequest
0 голосов
/ 21 марта 2011

Я хочу добавить проверки в мое приложение rails.Я добавил в свою модель

validates_format_of :description, :with => /^[a-zA-Z\d ]*$/i,:message =>
 "can only contain letters and numbers." 

Но теперь я хочу, чтобы некоторые специальные специальные символы (например, для ex- :) были разрешены.

Как бы я их добавил?

Ответы [ 3 ]

1 голос
/ 21 марта 2011

Просто добавьте их к своему регулярному выражению в квадратных скобках. Чтобы добавить двоеточие:

/^[a-zA-Z\d :]*$/

Будьте осторожны, хотя есть несколько специальных символов, которые необходимо экранировать с помощью обратной косой черты: . | ( ) [ ] { } + \ ^ $ * ?. Чтобы добавить точку к вашему набору, используйте:

/^[a-zA-Z\d \.]*$/
1 голос
/ 21 марта 2011

Вы можете добавить их в регулярное выражение:

validates_format_of :description, :with => /^[a-zA-Z\d\s:]*$/i,:message =>
 "can only contain letters and numbers."

(Я также изменил буквенный символ пробела в вашем регулярном выражении на \s escape).

0 голосов
/ 21 марта 2011

Звучит так, будто вам нужны все стандартные символы слова (я знаю, что вы не упомянули подчеркивание явно), кроме пробелов и двоеточий:

/ ^ [\ w \ s:] * $ /

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