For instance:
'1' => NG
'243' => NG
'1av' => OK
'pRo' => OK
'123k%' => NG
I tried with
/^(?=^[^0-9]*$)(?=[a-zA-Z0-9]+)$/
but it is not working very well.
Use
/^(?![0-9]*$)[a-zA-Z0-9]+$/
This expression has a negative lookahead to verify that the string is not only numbers. See it in action with RegExr .
So we know that there must be at least one "alphabetic" character in there somewhere:
[a-zA-Z]
And it can have any number of alphanumeric characters (including zero) either before it or after it, so we pad it with [a-zA-Z0-9]*
on both sides:
/^[a-zA-Z0-9]*[a-zA-Z][a-zA-Z0-9]*$/
That should do the trick.
Try with this:
/^(?!^\d*$)[a-zA-Z\d]*$/
Edit : since this is essentially the same of the accepted answer, I'll give you something different:
/^\d*[a-zA-Z][a-zA-Z\d]*$/
No lookaheads, no repeated complex group, it just verifies that there's at least one alphabetic character. This should be quite fast.
try with this: ^(?!\\d+\\b)[a-zA-Z\\d]+$
(?!\\d+\\b)
will avoid pure numeric, add \\w+ then mix alphabet and number.
这应该可以解决问题,无需回头看:
^(\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]*$";
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.