|
|
|
| Здравствуйте.
В форме регистрации имею поле "ФИО" вот ее код:
<form id="register_form" name="register_form" method="post">
<table width="340" height="311" border="1">
<tr>
<td align="right">
<b>ФИО:</b>  <input type="text" name="rname" id="rname" /> 
</td>
</tr>
|
код проверки:
if (!preg_match("/^[a-zA-Zа-яА-Я]{2,30}$/i",$name))
{
$error = true;
$errortext .= "<li><font color='red'>Убедитесь что Имя содержит от 2 до 30 символов и не содержит цифр</font></li>";
}
|
Проблема в том, что если в слове присутствует одна из этих букв: ц, у, ш, щ, х, ф, ы, ч, с, т. то выводит вышеуказанную ошибку, причем ошибка срабатывает только если буквы прописаны в нижнем реестре. Кодировка в utf-8.
Подскажите где ошибка и как ее исправить. Спасибо. | |
|
|
|
|
|
|
|
для: alex1111
(04.04.2012 в 01:10)
| | модификатор "u" добавьте | |
|
|
|
|
|
|
|
для: alex1111
(04.04.2012 в 01:10)
| | Странно что вообще что-то видит )
Исправления:
1. Зачем указывать модификатор "i" и писать a-zA-Z ?
2. Модификатор "u" указывает на то что это utf-8
3. Буква ё не входит в а-я, поэтому ее нужно указать отдельно. | |
|
|
|
|
|
|
|
для: Sfinks
(04.04.2012 в 01:39)
| | Спасибо большое! | |
|
|
|