2012-07-04 3 views
0

У меня есть это регулярное выражение для сопоставления адресов электронной почты в строке.Регулярное поисковое письмо электронной почты с javascript

[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,}) 

Это не лучшее регулярное выражение в мире, но достаточно хорошее для моего использования.

Когда я использую это с JavaScript так:

var emails = string.match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})"); 

Я сравниваться только первый адрес электронной почты, который является нормальным, потому что я не использую модификатор г.

Проблема заключается в том, что, когда я использую г модификатор вроде:

var emails = email[0].match("[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+(\.[a-zA-Z0-9,!#\$%&'\*\+/=\?\^_`\{\|}~-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*\.([a-zA-Z]{2,})g"); 

УАК электронной почты является недействительным, так что мой матч не работает.

Если вы можете помочь мне с этим.

спасибо.

+0

просьба представить реальный пример, чтобы проверить на что я не сделал получить g-часть хорошо – shareef

+0

может быть дубликатом [Как использовать регулярное выражение для проверки адресов электронной почты?] (http://stackoverflow.com/questions/201323/how-to-use-a-regular-expression-to -validate-a-email-addresses) – Ria

ответ

4

Try:

var emails = yourString.match(/([a-zA-Z0-9._-][email protected][a-zA-Z0-9._-]+\.[a-zA-Z0-9._-]+)/gi); 
+0

Спасибо, Судхир, ваш пример хорошо работает. Я попробовал. –

+0

привет, вы можете предоставить ссылку, чтобы узнать regexp и инструмент для его упрощения, а также javascript regexp, такой же, как метод сопоставления java, как синтаксис, который я имею в виду, пожалуйста, ответьте мне :) – shareef

+0

Я искал google, но мне нужно, чтобы вы порекомендовали мне – shareef

1

попробовать это я использовал его в фильтр проверки сервлета в моей системе я не знаю, если он работает в JavaScript

"^[a-zA-Z0-9._][email protected][a-zA-Z0-9._]{3,}$" 
+0

Спасибо, шейриф. –

Смежные вопросы