如何确保文本框是字母数字但没有前导数字?
我的Web应用程序包含一个文本框,我想限制其输入。 我想阻止用户输入以下文字:
- 从空白处开始
- 从数字以外的东西开始
- 在前导字符后面包含字母数字字符。
谢谢你的建议!
不要以字母数字的空格开头: [a-zA-Z]+
后跟0或更多字母数字: [a-zA-Z0-9]*
最后的表达
^[a-zA-Z]+[a-zA-Z0-9]*$
对于ASCII字符,您可以使用:
^[a-zA-Z][a-zA-Z0-9]*$ // Note you don't need the "+" after the first character group. // or... (?i:^[az][a-z0-9]*$) // Slightly shorter, albeit more unreadable, syntax (?i: ... ) makes the expression case-insensitive
如果你想匹配空字符串,只需将表达式包装在“(…)?”中,如下所示:
^([a-zA-Z][a-zA-Z0-9]*)?$
如果您想使用Unicode,您可能希望使用:
^\p{L}[\p{L}\p{Nd}]*$
Unicode w。 空字符串:
^(\p{L}[\p{L}\p{Nd}]*)?$
要阅读有关正则表达式中unicode可能性的更多信息,请参阅Regular-Expressions.info上的此页面 。
编辑
刚刚在一个答案中收集了所有可能性
- 排除配置文件提供程序,是否有一种向ASP.NET成员身份添加自定义字段的简单方法?
- HTMLAgilityPack加载AJAX内容以进行抓取
- 如何使用Foolproof的ModelAwareValidationAttribute进行不显眼的客户端validation
- 如何使用yahoo邮件帐户从本地主机发送电子邮件?
- ASP.Net Core MVC – 自定义属性的客户端validation
- 如何在Web API ASP NET 5中路由外部类库
- ASP.Net Identity 2管理用户
- Response.redirect Onselectedindexchanged继续触发后
- entity framework多对多关系表创建“向后”