我需要检查一串数字,即所有其他字符,如〜; &安培; * ^#& ^不应该被检查。我需要它来形成验证。现在我使用那种结构:
return ( ! preg_match("/^([0-9])+$/i", $str)) ? FALSE : TRUE;
我有一个表格用于edeiting用户的名字和姓氏。此外,当有人试图添加名字时,如下所示:“kickman!@#$%^& ())))(& ^%$ ## $%”我的表格应该完成验证没有错误。但是如果我有任何数字我应该得到一个错误,如同:“123kickman!@#$%^& ())))(& ^%$ ## $%”。
答案 0 :(得分:0)
试试这个:
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 );
}
答案 1 :(得分:0)
如果您要查看所有字符是否都是数字,只需创建一个函数并将字符串传递给它:
$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;
}
答案 2 :(得分:0)
怎么样:
根据问题更新进行编辑:
if (preg_match('/\d/', $string)) {
echo "KO, at least one digit\n";
} else {
echo "OK, no digits found\n";
}
或者,在函数中:
return !preg_match('/d/', $string);