0

很抱歉问这个简单的问题,但我似乎找不到任何答案。

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

我试过了:

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

好像不行...

4

2 回答 2

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"

于 2012-08-07T14:37:10.490 回答
0

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

于 2012-08-07T14:45:48.827 回答