我正在使用asp.net memebrlogin_control并获取异常“参数'username'不能包含逗号。参数名称:username”。我在此使用emailID作为用户名参数'username'不能包含逗号。参数名称:用户名
如何删除此错误,并且我还想知道应该被禁止验证电子邮件地址的字符列表是什么。
我正在使用asp.net memebrlogin_control并获取异常“参数'username'不能包含逗号。参数名称:username”。我在此使用emailID作为用户名参数'username'不能包含逗号。参数名称:用户名
如何删除此错误,并且我还想知道应该被禁止验证电子邮件地址的字符列表是什么。
在任何情况下,电子邮件地址都不允许使用逗号。如果您输入不带逗号的用户名,会发生什么情况?
尝试使用正则表达式验证用户名字段,然后将其传递给您传递给它的任何方法。这里有一个例子:
阅读RFC 2822为完整的电子邮件地址的语法。如果你通过BNF工作,你会发现"@,@"@foo.bar
是非常好的,如果不寻常的话。
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节:你问的规则,不过,可以在3.2.4节找到
addr-spec = local-part "@" domain
local-part = dot-atom/quoted-string/obs-local-part
domain = dot-atom/domain-literal/obs-domain
如果您在local-part
和domain
忽略一切,但dot-atom
规则,你会匹配共同或花园地址。有可能你的asp.net控件不接受所有有效的RFC2822地址,所以你应该检查该文档。
您可能会执行类似于“%<”十六进制代码>“的技巧,将有效(或不是)电子邮件地址转换为您的控件可以接受的用户名参数。
(O'Reilly出版的Mastering Regular Expressions用于对邮件地址的一个巨大的单页正则表达式(主要是正确的),但它的消失在第3版)
名未逗号将正常工作对我来说。 我想知道在验证电子邮件时应该禁止的所有可能的字符 – user255818 2010-01-21 13:54:43