我想只允许在asp:TextBox
(asp:Login
控件中)输入英文字符。
我该怎么做?
答案 0 :(得分:12)
使用RegularExpressionValidator
控件。在How To: Use Regular Expressions to Constrain Input in ASP.NET有一个很好的例子和解释。
仅英语(大写和小写A-Z)字符的正则表达式为^[A-Za-z]*$
如果您想包含数字,^[A-Za-z0-9]*$
您要添加的标记的摘录:
<asp:RegularExpressionValidator ID="regexpName" runat="server"
ErrorMessage="Only upper and lower case A-Z may be entered here."
ControlToValidate="txtInput"
ValidationExpression="^[A-Za-z]*$" />
最好在这个问题的答案中使用jQuery脚本: how do i block or restrict special characters from input fields with jquery?
但是你总是想要验证输入,(例如,如果用户关闭了JavaScript,那么也是如此),所以也要使用上面描述的验证方法。
答案 1 :(得分:1)
您可以使用FilteredTextBox来实现此目的。
它也可以使用普通的javascript(FilteredTextBox也依赖于javascript,但你可以只使用自己编写的javascript)来注册onKeyUp监听器,并过滤掉不在允许的子集中的字符(也许用正则表达式代替)