Asp.net 参数';用户名';不能包含逗号。参数名称:用户名

Asp.net 参数';用户名';不能包含逗号。参数名称:用户名,asp.net,exception,Asp.net,Exception,我正在使用asp.net memebrlogin\u控件,并收到异常“参数‘username’不能包含逗号。参数名称:username”。我正在使用emailID作为此应用程序中的用户名 如何删除此错误,我还想知道不允许验证电子邮件地址的字符列表是什么。在将用户名字段传递给任何方法之前,请尝试使用正则表达式验证用户名字段。下面是一个例子: 阅读完整的电子邮件地址语法。如果你通过BNF工作,你会发现,“@,@”@foo.bar是非常好的,如果不寻常的话。不过,您要求的规则可以在第3.2.4节中找到

我正在使用asp.net memebrlogin\u控件,并收到异常“参数‘username’不能包含逗号。参数名称:username”。我正在使用emailID作为此应用程序中的用户名


如何删除此错误,我还想知道不允许验证电子邮件地址的字符列表是什么。

在将用户名字段传递给任何方法之前,请尝试使用正则表达式验证用户名字段。下面是一个例子:

阅读完整的电子邮件地址语法。如果你通过BNF工作,你会发现,
“@,@”@foo.bar
是非常好的,如果不寻常的话。不过,您要求的规则可以在第3.2.4节中找到:

atext           =       ALPHA / DIGIT / ; Any character except controls,
                        "!" / "#" /     ;  SP, and specials.
                        "$" / "%" /     ;  Used for atoms
                        "&" / "'" /
                        "*" / "+" /
                        "-" / "/" /
                        "=" / "?" /
                        "^" / "_" /
                        "`" / "{" /
                        "|" / "}" /
                        "~"

atom            =       [CFWS] 1*atext [CFWS]

dot-atom        =       [CFWS] dot-atom-text [CFWS]

dot-atom-text   =       1*atext *("." 1*atext)
以及第3.4.1节:

addr-spec       =       local-part "@" domain

local-part      =       dot-atom / quoted-string / obs-local-part

domain          =       dot-atom / domain-literal / obs-domain
如果忽略
本地部分
规则中的
点原子
以外的所有内容,则将匹配公共或花园地址。您的asp.net控件可能不接受所有有效的RFC2822地址,因此您应该检查该文档

您可以执行类似于“%”技巧的操作,将有效(或无效)电子邮件地址转换为您的控件可以接受的用户名参数

(从O'Reilly掌握正则表达式过去有一个巨大的一页正则表达式(大部分是正确的)来表示邮件地址,但在第三版中就没有了。)