Rah*_*hul 6 javascript asp.net controls
我的页面中有电子邮件字段,我正在使用我的asp.net提供的正则表达式验证器进行验证.我正在使用与电子邮件验证器一样的验证表达式,即
ValidationExpression ="\ w +([ - +.']\w +)@\w +([ - .]\w +).\ w +([ - .]\w +)*"
它工作正常,但当我尝试提供非英文字母时出现问题,例如
èéüûă等
但我的问题是,当我在javascript中使用相同的表达式时,它允许这些字符,即使在服务器端,同样的表达式也允许这些字符.
我认为'\ w'允许所有字母数字字符以及非英文字符,但我不知道为什么在验证器中使用它时不允许.
如果我做错了,请建议.
这是 ECMAScript 标准的限制;.NET 中的 fe\\w也匹配非英语字符。
最简单的解决方案是在使用 ASP.NET 时关闭客户端验证,这样服务器端验证器(使用 .NET 实现)将进行相应的验证。
\n\nvar r = new Regex(@"\\w");\nforeach(var m in r.Matches("\xc3\xa8 \xc3\xa9 \xc3\xbc \xc3\xbb a"))\n Console.WriteLine(m);\n\nOutput:\n\xc3\xa8\n\xc3\xa9\n\xc3\xbc\n\xc3\xbb\na\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
1222 次 |
| 最近记录: |