Простой, но непонятный вопрос.

[Удален]
601

Есть у меня регулярное выражение, которое проверяет правильность ФИО

Работало 2 года идеально

/[а-яА-Я]{2,15}\s[а-яА-Я]{2,15}\s[а-яА-Я]{2,15}/i

После того, как сайт был переведен из кодировки win1251 в utf8, появилась проблема.

Например имя Вероника не вписывается в 15 символов почему-то. Выдает ошибку. Проходить начинает только тогда, когда разрешу 25 символов. Я так понимаю форма с сервером в каком-то формате общается, где количество символов другое.

Хотя везде отображается как надо. В каком направлении капать или я что-то про utf8 не знаю

I
На сайте с 28.03.2011
Offline
37
#1


/[а-яА-Я]{2,15}\s[а-яА-Я]{2,15}\s[а-яА-Я]{2,15}/ui
Помогаю не только словом.. (/ru/forum/830720)
[Удален]
#2

Вот что значит свежий взгляд со стороный, а то уперся в сам шаблон и выискиваю :)))) Спасибо!!!

---------- Добавлено 15.04.2014 в 11:06 ----------

Всегда в регулярках использовал модификатор U не думая о не, а тут не использовал, т.к. не задавался вопросом для чего он. Сейчас посмотрел на php.su

U - инвертирует жадность

как понимать? :)) что конкретно модификатор делает?

Ваано
На сайте с 01.08.2009
Offline
112
#3
Emotion_schemer:
Вот что значит свежий взгляд со стороный, а то уперся в сам шаблон и выискиваю :)))) Спасибо!!!

---------- Добавлено 15.04.2014 в 11:06 ----------

Всегда в регулярках использовал модификатор U не думая о не, а тут не использовал, т.к. не задавался вопросом для чего он. Сейчас посмотрел на php.su

U - инвертирует жадность

как понимать? :)) что конкретно модификатор делает?

Регистр имеет значение. Вы смотрите модификатор "U", он действительно отвечает за жадность.

У вас же используется "u" - этот отвечает за использование строки в кодировке utf-8

Туры в Мексику тут (http://www.metmexico.com). Оптимальное отношение цена/качество.
L
На сайте с 07.12.2007
Offline
351
#4
Emotion_schemer:
Есть у меня регулярное выражение, которое проверяет правильность ФИО
Работало 2 года идеально

Оно а принципе не могло работать идеально. В кодировке cp1251 буква Ё выпадает из диапазона [А-Я], а ё - из [а-я]

[Удален]
#5
Ladycharm:
Оно а принципе не могло работать идеально. В кодировке cp1251 буква Ё выпадает из диапазона [А-Я], а ё - из [а-я]

Ё заменялась перед проверкой по шаблону

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий