开发者

How do I ensure a text box is alphanumeric but without a leading digit?

My web application contains a text box for which I would like to restrict its input. I would like to prevent the user from entering text that:

  • Starts with wh开发者_如何学运维ite space
  • Starts with something other than a digit
  • Contains alphanumeric characters after the leading character.

Thank you for your suggestions!


Not to start with white space of alpha numeric: [a-zA-Z]+
Followed by 0 or more alphanumeric: [a-zA-Z0-9]*

Final expression

^[a-zA-Z]+[a-zA-Z0-9]*$


For ASCII characters you could use:

^[a-zA-Z][a-zA-Z0-9]*$ // Note you don't need the "+" after the first character group.
                       // or...
(?i:^[a-z][a-z0-9]*$)  // Slightly shorter, albeit more unreadable, syntax (?i: ... ) makes the expression case-insensitive 

If you want to match empty string just wrap the expression in "( ... )?", like so:

^([a-zA-Z][a-zA-Z0-9]*)?$

If you want to work in Unicode you might want to use:

^\p{L}[\p{L}\p{Nd}]*$

Unicode w. empty string:

^(\p{L}[\p{L}\p{Nd}]*)?$

To read more about unicode possibilities in regex, see this page on Regular-Expressions.info.

Edit

Just collected all possibilities in one answer.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜