如何确保文本框是字母数字但没有前导数字?

我的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上的此页面 。

编辑

刚刚在一个答案中收集了所有可能性