если вы используете атрибуты проверки asp.net mvc, ваше регулярное выражение на самом деле должно быть закодировано с помощью синтаксиса регулярных выражений javascript, а не синтаксиса c # regex.Некоторые символы одинаковы, но вы должны быть утомлены этим.
Вы хотите, чтобы ваш атрибут выглядел следующим образом:
[RegularExpression(@"([0-9]|[a-z]|[A-Z])+@([0-9]|[a-z]|[A-Z])+\.edu$", ErrorMessage = "text to display to user")]
причина, по которой вы добавляете символ @ перед строкойсделать буквальную строку, потому что я верю, что c # будет применять свои собственные escape-последовательности, прежде чем передать его в регулярное выражение
(a | b | c) соответствует либо «a», либо «b», либо «c»,[az] соответствует всем символам между a и z, и аналогично для заглавных букв и цифр, поэтому ([0-9] | [az] | [AZ]) соответствует любому буквенно-цифровому символу
([0-9] | [az] | [AZ]) + соответствует 1 или более буквенно-цифровым символам.+ в регулярном выражении означает 1 или более из предыдущих
@ для символа '@' в адресе электронной почты.Если это не сработает, вам, возможно, придется его избежать, но я не знаю какого-либо особого значения для @ в регулярном выражении javascript
Давайте упростим его еще
[RegularExpression(@"\w+@\w+\.edu$", ErrorMessage = "text to display to user")]
\w обозначает любой буквенно-цифровой символ, включая подчеркивание
. Для получения дополнительной информации
прочитайте некоторую документацию по регулярным выражениям в
https://developer.mozilla.org/en/JavaScript/Guide/Regular_Expressions.