C#Regex只允许使用字母数字

Der*_*rin 26 c# regex

我有以下正则表达式^[a-zA-Z0-9]+$,允许使用字母数字字符.这里的问题是,如果我只输入像"897687"这样的数字字符,那么正则表达式仍然匹配.我不希望这种情况发生.应该至少有一个文本字符,它应该以文本字符开头.例如"a343"或"a98bder"或"a4544fgf343"

如果你可以帮助我提高我的正则表达式会很棒.

Row*_*haw 41

听起来像你想要的:

^[a-zA-Z][a-zA-Z0-9]*$
Run Code Online (Sandbox Code Playgroud)


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)


Dee*_*ari 6

该函数将根据正则表达式是否匹配返回 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)


Ric*_*lly 5

^[a-zA-Z][a-zA-Z0-9]*$
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩!

或者,如果您希望包含所有字母数字加下划线,您可以使用:

^[a-zA-Z][\w]*$
Run Code Online (Sandbox Code Playgroud)