Regex to accept at least one alpha char and numeric char
I was trying out a regex to "partial match" (any place in the string):
abcd1234 1a2b
I searched for a regex and found this:
/^(?=.*\d)(?=.*[a-zA-开发者_Python百科Z])$/
But it accepts only alphanumeric; abcd123!@#$
is not matched.
How can this be fixed?
How about this?
/^.*[a-zA-Z].*\d.*|.*\d.*[a-zA-Z].*$/
This should match either:
- an alphabetic character somewhere, followed by a numeric character somewhere, with any number of other types of characters on either side or between them; or
- the other way around (numeric followed by alphabetic)
If I understood you correctly, this is what you want:
/^.*[a-zA-z].*\d.*/
/*
'2344' => false
'abcd' => false
'a1cd' => true
'abc3' => true
'ab@3' => true
'a_*3' => true
'2_!b' => false
*/
The following will allow the alpha and the numeric to appear in either order:
/^.*((\d.*[a-zA-Z])|([a-zA-Z].*\d)).*$/
精彩评论