Кроссбраузерность в регулярках
Помогите пожалуйста, есть поле, в которое разрешается вводить только русские символы, если вводятся не русские выдается сообщение "Введите имя на русском языке". Работает он в IE, Chrome, Safary, а вот в FireFox(5) не работает.
1) Подскажите пожалуйста в чем причина и как ее решить. 2) /^[а-яА-Я]/i - регулярка позволяющая вводить только русские символы, но она пропускает и цыфры если их вводить после русских букв, помогите пожалуйста исправить этот недочет. Заранее благодарен! <tr><td><div class="type1"> <input name="email_" onkeyup="email(this)" id="email_" size="31"/> <div id="pa"></div> </div> </td><td>E-mail</td></tr> var test = false; function namep(elementValue){ var emailPattern = /^[а-яА-Я]/i; if (emailPattern.test(elementValue.value)) { pb.innerHTML = ""; test = true; } else { pb.innerHTML = "Введите имя на русском языке"; test = false; } } |
По поводу первого вопроса. Где код создания pb?
По поводу второго /^[а-яА-Я]*$/i - только буквы от начала и до конца. |
/^[а-яА-ЯёЁ]+$/ |
Цитата:
Цитата:
|
Цитата:
Вот только как исправить проблему с тем, что оно не работает в FireFox? |
регулярное выражение работает в Firefox
|
Может у меня просто боканутая версия FireFox, посмотрите пожалуйста у себя, проблема с полем вводом имени. Показывает, что оно всегда не корректное: http://shkarbatov.com/artpack/
Заранее благодарен! |
|
Вот код, 248 строка помечена как 248, если данные не корректные, я вывожу: "Введите имя на русском языке"; иначе просто очищаю данную надпись: pb.innerHTML = "";
Или есть более оптимальное решение? Подскажите пожалуйста, а то я javascript знаю по-стольку по-скольку =) var test = false; function namep(elementValue){ var emailPattern = /^[а-яА-ЯёЁ]+$/; if (emailPattern.test(elementValue.value)) { 248 pb.innerHTML = ""; test = true; } else { pb.innerHTML = "Введите имя на русском языке"; test = false; } } <tr><td><div class="type1"> <input name="name_" onkeyup="namep(this)" id="name_" size="31"/> <div id="pb"></div> </div></td><td>  Имя</td></tr> |
Из того, что элемент имеет id="pb", не следует. что он будет доступен по соответствующему имени переменной. Вам сюда.
|
Часовой пояс GMT +3, время: 16:11. |