-3

我需要一个正则表达式。

任何符号(或字母?)或数字,但不能只包含数字:

jhfj7484 - passes
3434jhfj - passes
jку343hj - passes
63728134 - does not pass
6372813t - passes

谢谢您的帮助。

4

2 回答 2

1

使用正则表达式有两种方法(仅假设 ASCII 字符):

^[A-Za-z0-9]*[A-Za-z][A-Za-z0-9]*$

仅当至少有一个 ASCII 字母时才匹配。

或者,使用积极的前瞻断言

^(?=.*[A-Za-z])[A-Za-z0-9]*$
于 2013-07-05T08:53:22.950 回答
1

我不会为此使用正则表达式;PHP中的一个例子:

function mycheck($str)
{
    return strspn($str, '0123456789') != strlen($str);
}

mycheck('12345'); // false
mycheck('123asb'); // true

在正则表达式中,也可以这样表达:

function mycheck($str)
{
    return !preg_match('/^\d*$/', $str);
}
于 2013-07-05T08:53:29.907 回答