2012-08-07 83 views
0

对不起,提出这个简单的问题,但我似乎没有找到任何答案。查找PHP数字字符串

如何检查字符串中是否有数字?

我已经试过:

$string = "this is a simple string with a number 2432344"; 
    if (preg_match('/[^0-9]/', "$string")) { 
     echo "yes a number"; 
    } else { 
     echo "no number"; 
    } 

似乎不工作...

回答

9

如果你想找到一些,不要在你的正则表达式否定的字符与^集。这意味着“匹配任何东西,除了一个数字”。

$string = "this is a simple string with a number 2432344"; 

if (preg_match('/[0-9]/', "$string")) { 
    echo "yes a number"; 
} else { 
    echo "no number"; 
} 

另外,你可以只使用\d代替[0-9]$string而不是"$string"

+0

谢谢!那么简单 – 2012-08-07 14:41:56

0

^只会否定正则表达式中的内容。你不需要使用它。

+0

对不起,但这是错误的。字符集开头的'^'否定字符集;它不是主播。 (见句#1':)') – Ryan 2012-08-07 15:02:08

+0

你是绝对正确的!据此编辑。 – weltschmerz 2012-08-07 15:10:24