如何限制正则表达式中的数字

时间:2012-10-01 18:46:35

标签: c# regex

我有正则表达式 ^ [a-zA-Z0-9] {0,14} $ 这将只允许字母数字。 但有问题我不希望用户名只是数字,这个正则表达式也只接受数字 像56426542 所以如何仅限制数字

2 个答案:

答案 0 :(得分:1)

TIMTOWTDI

最简单的解决方案是要求用户名以字母

开头

^[A-Za-z][A-Za-z0-9]{0,14}

请记住{0,14}接受空字符串作为有效输入

修改 前面的表达式接受1到15个字符的输入,更好的解决方案是:^[A-Za-z][A-Za-z0-9]{0,13}

但Grommer解决方案更好

答案 1 :(得分:1)

你想要的正则表达式:

^((?=.*[a-zA-Z])[a-zA-Z0-9]{0,14})$

Regex sandbox to play in with it.

这不会强迫你必须以字母开头。用户名可以以字母或数字开头,确保用户名不是数字。

编辑:修复了长度检查。此外,您可能希望将{0,14}更改为{1,14}。好吧,用最小长度要求替换第一个数字。