如何使用preg_match检查字符串是否包含任何数字


How i can check with preg_match contain my string any digits or not?

我需要签入一串数字,即所有其他字符,如~&*^#&^不应受到检查。我需要它来形成验证。现在我使用这种结构:

return ( ! preg_match("/^([0-9])+$/i", $str)) ? FALSE : TRUE;

我有一个表格,用来确定用户的名字和姓氏。此外,当有人试图添加带有以下字符的名称时,例如:"kickman!@#$%^&()))(&^%$#$%",我的表单应该完成验证,不会出现错误。但如果我有任何数字,我应该会出现错误,例如:123kickman;@#$%''amp;[))))

试试这个:

if (!preg_match("#^[a-zA-Z0-9]+$#", $text)){
   echo 'String also contains other characters.';  
} else {
   echo 'String only contains numbers and letters.';
}

或者这个:

function countDigits($str)
{
    return preg_match_all( "/[0-9]/", $str );
}

如果您想查看所有字符是否都是数字,只需创建一个函数并将字符串传递给它:

$x = match("01234");
echo $x."<br>";
$x = match("0$#21234");
echo $x."<br>";
function match($str)
{
return ( ! preg_match("/^([0-9])+$/i", $str)) ? 0 : 1;
}   

怎么样:

根据问题更新进行编辑:

if (preg_match('/'d/', $string)) {
    echo "KO, at least one digit'n";
} else {
    echo "OK, no digits found'n";
}

或者,在一个函数中:

return !preg_match('/d/', $string);