![]() |
Проверка формы на JavaScript :)
Вообщем сделал функцию которая проверяет содержит ли поле, только алфавит(Русский, Английский), цифры и знаки "_" и "-".
Сам код: function n_check(n) { check = /^([A-z]|[А-я]|[0-9]|_|-)+$/; if (!check.test(n)) return false; return true; } вопрос, в следующем как мне сделать так, чтоб функция проверяла содержит ли поле цифры, знаки "_" и "-", и Алфавит (Английский или(!) Русский), т.е. нельзя чтоб было Английский и Русский одновременно :) немного подправил ))) просто немного не ту функцию кинул... |
smap
Цитата:
|
"и сверяй с ними по очереди" я об этом думал :)
но смотри: допустим мы напишем: "smap999" вроде правильно :) проверяем первой функцией на английский, все ок :) функция возвращает true а вот дальше идет функция на проверку русского и тут вот облом, хоп и функция возвращает false :( тоже самое будет если наоборот.. по началу одно а потом другое :) |
мне кто-нибудь поможет? или нет...
тут не кого .. кто умеет генерировать идеи )))) |
А что если написать A-я? Не выйдет?
Добавлено через 2 минуты: В смысле - английское "A" - русское "я" |
Neo
:) |
hempsmoke
Чего? Я серьезно. Я если нет, то я не виноват, поскольку с JS я начал знакомиться не так-то давно... |
Neo
отбросим знания Js если бы было так все легко, раздували бы здесь тему? :) |
smap
Цитата:
А вообще если такой проверки нету в скрипте (куда ты данные эти посылаешь), то такую феньку обойти очень просто... |
V0iD спасиб, за идею держи 5 :)
воть: function nik_check(n) { check_rus = /^([А-Яa-я0-9_Ёё]|-)+$/; check_eng = /^([A-Za-z0-9_]|-)+$/; rus = check_rus.test(n); eng = check_eng.test(n); if (rus || eng) return true; return false; // (c) SMAP =) } и не надо типо говорить почему [А-Яa-я0-9_Ёё] так, а не [А-я0-9_] потому что во втором случаи “ё” не распознается и еще знак “`” проходит хз почему =( типо так для справки как ету функцию использовать: <form name=f method="POST"> <u>N</u>ik:<input type="text" name="nik"><br> </form> <script> var error = new Array(); error["nik"] = "Бла бла бла =)" function f.nik.onblur() { if (this.value!="") { if (!nik_check(this.value)) {alert(error[this.name]); this.focus(); } </script> |
| Часовой пояс GMT +4, время: 21:16. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.