我有以下正则表达式^[a-zA-Z0-9]+$,允许使用字母数字字符.这里的问题是,如果我只输入像"897687"这样的数字字符,那么正则表达式仍然匹配.我不希望这种情况发生.应该至少有一个文本字符,它应该以文本字符开头.例如"a343"或"a98bder"或"a4544fgf343"
如果你可以帮助我提高我的正则表达式会很棒.
ste*_*ema 13
如果ASCII字符在某些方面还不够,这里是Unicode版本:
^\p{L}[\p{L}\p{N}]*$
Run Code Online (Sandbox Code Playgroud)
\p{L} 是任何具有属性字母的Unicode代码点==>来自任何语言的任何字母(即Unicode)
\p{N} 是任何具有属性编号的Unicode代码点==>来自任何语言的任何数字字符(即Unicode)
该函数将根据正则表达式是否匹配返回 true 或 false,
public static Boolean isAlphaNumeric(string strToCheck)
{
Regex rg = new Regex(@"^[a-zA-Z0-9\s,]*$");
return rg.IsMatch(strToCheck);
}
Run Code Online (Sandbox Code Playgroud)
^[a-zA-Z][a-zA-Z0-9]*$
Run Code Online (Sandbox Code Playgroud)
应该做的伎俩!
或者,如果您希望包含所有字母数字加下划线,您可以使用:
^[a-zA-Z][\w]*$
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
55984 次 |
| 最近记录: |