2013-07-29 4 views
0

У меня есть JS Regex, который проверяет правильность адреса электронной почты. Все работает хорошо, однако в последнее время я заметил, что он позволяет использовать звездочку * в качестве действительной части письма. Я знаю, что некоторые пользователи могут использовать это, я не хочу, чтобы мое приложение разрешало это.JS Regex для электронной почты, разрешающей звездочку

До сих пор код:

RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\*|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 

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

+1

Почему вы не хотите, чтобы ваше приложение разрешало это? – Darkzaelus

+1

Фактически, мое приложение для администрирования колледжа, где данные были прочитаны из отсканированных листов OMR и что о том, что программное обеспечение OMR было то, что оно читает пустые круги как '*', поэтому большинство писем пользователей с этим и, следовательно, неверны. Теперь, когда они редактируют это, я хочу избежать этой проблемы. – coder101

+2

ОК, это действительно :) через опыт, большинство людей просто хотят ограничить допустимые для пользователя форматы электронной почты, поэтому почему я спросил – Darkzaelus

ответ

3

Просто удалите экранированные звездочки из вашего регулярного выражения. Тогда ваше регулярное выражение стало бы:

RegExp = /^((([a-z]|[0-9]|!|#|$|%|&|'|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+(\.([a-z]|[0-9]|!|#|$|%|&|'|\+|\-|\/|=|\?|\^|_|`|\{|\||\}|~)+)*)@((((([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.))*([a-z]|[0-9])([a-z]|[0-9]|\-){0,61}([a-z]|[0-9])\.)[\w]{2,4}|(((([0-9]){1,3}\.){3}([0-9]){1,3}))|(\[((([0-9]){1,3}\.){3}([0-9]){1,3})\])))$/ 

[EDIT]

Не удаляйте все звездочками. Удалите только экранированные звездочки.

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