C# 如何确保文本框是字母数字的,但没有前导数字?
我的web应用程序包含一个文本框,我想限制它的输入。我想阻止用户输入以下文本:C# 如何确保文本框是字母数字的,但没有前导数字?,c#,asp.net,regex,C#,Asp.net,Regex,我的web应用程序包含一个文本框,我想限制它的输入。我想阻止用户输入以下文本: 从空白开始 以数字以外的内容开始 在前导字符后包含字母数字字符 谢谢你的建议 对于ASCII字符,您可以使用: ^[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]*$) // Slightl
- 从空白开始
- 以数字以外的内容开始
- 在前导字符后包含字母数字字符
谢谢你的建议 对于ASCII字符,您可以使用:
^[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
如果要匹配空字符串,只需将表达式包装在“(…)?”中,如下所示:
^([a-zA-Z][a-zA-Z0-9]*)?$
如果要使用Unicode,可能需要使用:
^\p{L}[\p{L}\p{Nd}]*$
Unicode w。空字符串:
^(\p{L}[\p{L}\p{Nd}]*)?$
要了解有关正则表达式中unicode可能性的更多信息,请参见
编辑
仅在一个答案中收集了所有可能性。对于ASCII字符,您可以使用:
^[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
如果要匹配空字符串,只需将表达式包装在“(…)?”中,如下所示:
^([a-zA-Z][a-zA-Z0-9]*)?$
如果要使用Unicode,可能需要使用:
^\p{L}[\p{L}\p{Nd}]*$
Unicode w。空字符串:
^(\p{L}[\p{L}\p{Nd}]*)?$
要了解有关正则表达式中unicode可能性的更多信息,请参见
编辑
在一个答案中收集了所有可能性。不要以字母数字的空白开始:
[a-zA-Z]+
后跟0或更多字母数字:
[a-zA-Z0-9]*
最终表达
^[a-zA-Z]+[a-zA-Z0-9]*$
不要以字母数字的空格开头:
[a-zA-Z]+
后跟0或更多字母数字:
[a-zA-Z0-9]*
最终表达
^[a-zA-Z]+[a-zA-Z0-9]*$
防止用户不从…
开始实际上是指从…
开始(双重否定)。对于像这样的问题,最好提供匹配/不匹配的字符串示例。防止用户不从…
真的是指从…
开始(双重否定)。对于此类问题,最好提供匹配/不匹配的字符串示例。