我需要一个正则表达式。
任何符号(或字母?)或数字,但不能只包含数字:
jhfj7484 - passes
3434jhfj - passes
jку343hj - passes
63728134 - does not pass
6372813t - passes
谢谢您的帮助。
使用正则表达式有两种方法(仅假设 ASCII 字符):
^[A-Za-z0-9]*[A-Za-z][A-Za-z0-9]*$
仅当至少有一个 ASCII 字母时才匹配。
或者,使用积极的前瞻断言
^(?=.*[A-Za-z])[A-Za-z0-9]*$
我不会为此使用正则表达式;PHP中的一个例子:
function mycheck($str)
{
return strspn($str, '0123456789') != strlen($str);
}
mycheck('12345'); // false
mycheck('123asb'); // true
在正则表达式中,也可以这样表达:
function mycheck($str)
{
return !preg_match('/^\d*$/', $str);
}