Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка правильности ввода почты на JS
 
 автор: sidPR   (26.01.2007 в 19:16)   письмо автору
 
 

Собственно перед отправкой данных надо проверить value объекта по регулярки на привильность ввода адреса

   
 
 автор: cheops   (26.01.2007 в 19:50)   письмо автору
 
   для: sidPR   (26.01.2007 в 19:16)
 

Возможно вам будет интересна статья по ссылке http://www.softtime.ru/info/articlephp.php?id_article=42.

   
 
 автор: sidPR   (26.01.2007 в 21:01)   письмо автору
 
   для: cheops   (26.01.2007 в 19:50)
 


 /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i.


не совсем понял как мне сравнить с помощью JS есть переменная к пример txt .... ее нужно проверить на соответсвтие /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i


<script language="JavaScript"> 
var str="tes@sl.ru"; 
var reg =  /[0-9a-z_]+@[0-9a-z_^.]+.[a-z]{2,3}/i.
var result=reg.test(str) ? "true" : "false" 
document.write(result);
</script>

так ?

   
 
 автор: sidPR   (26.01.2007 в 21:15)   письмо автору
 
   для: sidPR   (26.01.2007 в 21:01)
 

написал так

var reg =  /[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,3}/ 
    var result=reg.test(forma.mail.value) ? "true" : "false"  


и по той регулярки что вы дали тоже пробывал когда ввобще адрес test@sss.ru пишет true ...а когда я напишу test@sss.rure тоже тру почемуто :(

   
 
 автор: sidPR   (30.01.2007 в 16:11)   письмо автору
 
   для: sidPR   (26.01.2007 в 21:15)
 

подскажите как правильно это сделать?

   
 
 автор: sidPR   (31.01.2007 в 09:37)   письмо автору
 
   для: sidPR   (30.01.2007 в 16:11)
 

Как сделать так чтобы после точки нельзя было писать более трех символов ?? вроде в регулярке описанно это но не действует :(((( почему

   
 
 автор: sidPR   (31.01.2007 в 09:37)   письмо автору
 
   для: sidPR   (30.01.2007 в 16:11)
 

Как сделать так чтобы после точки нельзя было писать более трех символов ?? вроде в регулярке описанно это но не действует :(((( почему

   
 
 автор: kasmanaft   (31.01.2007 в 10:29)   письмо автору
 
   для: sidPR   (31.01.2007 в 09:37)
 

Следует добавить в рег. выражение обозначения начала и конца строки:

/^[-0-9a-z_\.]+@[-0-9a-z_^\.]+\.[a-z]{2,3}$/

И можно, наверное, убрать " _^ " из скобок после собачки .... И добавить модификатор " i ", для независимости регистра букв.

   
 
 автор: sidPR   (31.01.2007 в 10:48)   письмо автору
 
   для: kasmanaft   (31.01.2007 в 10:29)
 

Теперь дажэ когда нормальный адресс вводиш он не реагирует :(

   
 
 автор: kasmanaft   (31.01.2007 в 11:37)   письмо автору
 
   для: sidPR   (31.01.2007 в 10:48)
 

Что значит не реагирует?
У меня работает ....

   
 
 автор: Trianon   (31.01.2007 в 11:08)   письмо автору
 
   для: kasmanaft   (31.01.2007 в 10:29)
 

>И можно, наверное, убрать " _^ " из скобок после собачки ....
>И добавить модификатор " i ", для независимости регистра букв.

И расширить квантификатор символов имени домена первого уровня хотя бы до 6.

   
 
 автор: sidPR   (31.01.2007 в 19:24)   письмо автору
 
   для: Trianon   (31.01.2007 в 11:08)
 

Ну так люди добрые можно увидеть регулярку которая работает нормально и не позволяется ввести после последний точки 4 символа :(?

   
 
 автор: kasmanaft   (31.01.2007 в 19:51)   письмо автору
 
   для: sidPR   (31.01.2007 в 19:24)
 

Что значит нормально работает? :)
<script language="JavaScript">  
var str="tes@sl.ru";
var reg =  /^[-0-9a-z_\.]+@[-0-9a-z\.]+\.[a-z]{2,3}$/i;
var result=reg.test(str) ? "true" : "false";
document.write(result);
</script>

   
 
 автор: sidPR   (31.01.2007 в 19:52)   письмо автору
 
   для: kasmanaft   (31.01.2007 в 19:51)
 

это значит чтобы не позволяло вводить адрес подобного рода : test@test.rusu

   
 
 автор: kasmanaft   (31.01.2007 в 19:58)   письмо автору
 
   для: sidPR   (31.01.2007 в 19:52)
 

Подправил немного пост ...
Повторюсь, рег. выражение работает. Как вы его используете?

   
 
 автор: sidPR   (31.01.2007 в 20:11)   письмо автору
 
   для: kasmanaft   (31.01.2007 в 19:58)
 

Во заработало... спасибо вам огромное :)

вот как я использовал:

function sub(){
    var forma = document.forms['reg'];
    var str= forma.mail.value; 
    var reg =  /^[-0-9a-z_\.]+@[-0-9a-z\.]+\.[a-z]{2,3}$/i; 
    var result=reg.test(str) ? "true" : "false"; 
    if(forma.pass.value != forma.pass2.value || forma.mail.value == '' || forma.nick.value == '' || forma.pass.value.length < 5 || forma.nick.value < 2 || result == 'false'){
        if(result == 'false'){
        document.getElementById('ops').innerHTML="Вы некоректно указали почту<br>";}
        if(forma.mail.value == ''){
        document.getElementById('ops').innerHTML="Вы не указали почту<br>";}
        if(forma.nick.value.length < 3){
        document.getElementById('ops').innerHTML="Логин должен состоять из 3 символов или более!<br>";}
        if(forma.pass.value.length < 3 || forma.pass2.value.length < 5){
        document.getElementById('ops').innerHTML="Пароль должен састоять из 4 символов и более!<br>";}
        if(forma.pass.value != forma.pass2.value){
        document.getElementById('ops').innerHTML="Пароли не совпадают!<br>";}
        if(!forma.nick.value){
        document.getElementById('ops').innerHTML="Вы не выбрали nick<br>";}
    }else{
        forma.submit();
    }
        
}

   
 
 автор: Trianon   (31.01.2007 в 20:19)   письмо автору
 
   для: sidPR   (31.01.2007 в 19:24)
 

почему регулярка не должна позволять вводить после точки 4 символа?

Если Вы таких доменов не знаете, это еще не значит, что их нет вообще.

   
 
 автор: sidPR   (31.01.2007 в 22:38)   письмо автору
 
   для: Trianon   (31.01.2007 в 20:19)
 

Про домены я ничего вроде не упомянал мне просто нужна была регулярка которая только с 2 знаками и 3 х знаками работает

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования