2009-12-01 3 views
0

Действительно застрял в этом простом регулярном выражении. Нужно это для проверки строки, которая будет почтой без «@ domain.xxx».String Dot String (Mail без домена) RegEx

Он должен выполнять следующие правила:

  • должна быть строка (только буквы) отправную.
  • должна быть строка (только буквы), заканчивающиеся.
  • эти две строки должны быть разделены точкой.
  • полная строка не должна содержать чисел или символов.

Я пытался с чем-то вроде ... /^[a-z]+$/^[.]+$/[a-z]+$/i ... но без успеха.

+1

Вы использовали начало/конец строчных якорей '^ $' в местах, где они никогда не могут совпадать, i. е. в середине строки. Вероятно, поэтому ваше регулярное выражение не срабатывает. –

+0

О, а слэш '/' обычно обозначает начало и конец регулярного выражения как объект JavaScript, поэтому, конечно, это тоже не может произойти в регулярном выражении. –

ответ

2
/^[A-Za-z]+\.[A-Za-z]+$/ 

будет работать для букв ASCII.

Если вы хотите, чтобы международные письма (Аа и т.д.) пытаются

/^[^\W\d_]+\.[^\W\d_]+$/ 

[^\W\d_] означает «любой символ, который не является не алфавитно-цифровой символ, а не числом, а не подчеркивание».

+2

'\ w' соответствует * alphanumerics *, поэтому для получения только альфа используйте' [^ \ W \ d_] 'или' [[: alpha:]] '. –

+0

Ах, я был слишком поспешным ... отредактировал. –

+2

В соответствии с спецификациями RFC вы должны, вероятно, также учитывать символы типа!, # И $. http://en.wikipedia.org/wiki/Email_address#RFC_specification –

-1

/^[a-zA-Z]+\.[a-zA-Z]+$/?

+0

Это не допустило бы буквы в верхнем регистре. –

+0

Ты неправ Ян. Все в порядке. Я ничего не сказал о uc или lc. ;) –

+0

Извините, MBO. Слишком поздно менять свой голос. :) –