需要正则表达式。任何字符编号

时间:2013-07-05 08:17:29

标签: regex numbers

我需要正则表达式。

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

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

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

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

只有在至少有一个ASCII字母时才会匹配。

或者,使用positive lookahead assertion

^(?=.*[A-Za-z])[A-Za-z0-9]*$

答案 1 :(得分: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);
}