JavaScript + Регулярные выражения + длинные строки

virakochi

Устал
JavaScript + Регулярные выражения + длинные строки

Возникла проблема при проверке валидности адреса
function isValidEmail(email) {
return (/^\w+([\.-]?\w+)*(-)?@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email));
}

Если email становится длиннее некоторого количества символов, функция вешает броузер.
В чем может быть проблема?
 

virakochi

Устал
Это не поможет решению проблемы.. я же не могу запретить вводить адреса длиннее 20 символов..
 

magrish

Новичок
может попробовать заэкранировать символ '-'
/^\w+([\.\-]?\w+)*(\-)?@\w+([\.\-]?\w+)*(\.\w{2,3})+$/
 

virakochi

Устал
дело не в реге - он верный.. дело похоже в каком-то глюке.. нашел этот баг в баглисте мозиллы..
Он же возникает и при использовании match
 

magrish

Новичок
Я проверяю так

var myRegExp = /^[0-9a-z]?[0-9a-z\.\-_]*@[0-9a-z\.\-_]+\.\w{2,5}/;
if (myRegExp.test(em.value) == false)
{
alert('Incorrect e-mail');
fl = false;
}

все пока нормально работает
 

virakochi

Устал
magrish
Немного видоизменил твой... работает.. Но при отклонении в сторону \w все равно виснет..
 
Сверху