例如:
'1' => NG
'243' => NG
'1av' => OK
'pRo' => OK
'123k%' => NG
我试过了
/^(?=^[^0-9]*$)(?=[a-zA-Z0-9]+)$/
但它工作得不是很好。
例如:
'1' => NG
'243' => NG
'1av' => OK
'pRo' => OK
'123k%' => NG
我试过了
/^(?=^[^0-9]*$)(?=[a-zA-Z0-9]+)$/
但它工作得不是很好。
所以我们知道某处必须至少有一个“字母”字符:
[a-zA-Z]
它之前或之后可以有任意数量的字母数字字符(包括零),所以我们[a-zA-Z0-9]*
在两边都填充:
/^[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*$/
这应该够了吧。
试试这个:
/^(?!^\d*$)[a-zA-Z\d]*$/
编辑:由于这与公认的答案基本相同,我会给你一些不同的东西:
/^\d*[a-zA-Z][a-zA-Z\d]*$/
没有前瞻,没有重复的复杂组,它只是验证至少有一个字母字符。这应该很快。
试试这个:^(?!\d+\b)[a-zA-Z\d]+$
(?!\d+\b)
将避免纯数字,添加 \w+ 然后混合字母和数字。
这应该可以解决问题,无需向后看:
^(\d*[a-zA-Z]\d*)+$
试试这个:^[a-zA-Z0-9]*[a-zA-Z]+[a-zA-Z0-9]*$
这是严格的字母数字
String name="^[^a-zA-Z]\\d*[a-zA-Z][a-zA-Z\\d]*$";