今天小编给大家分享一下php如何检测字符串是否只含数字的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
两种方法:1、用is_numeric()检测一个字符串是否为数字字符串,语法“is_numeric (字符串)”,如果返回TRUE则只含数字。2、用preg_replace()配合正则表达式过滤字符,返回数字字符,组成一个数字字符串,用“===”比较数字字符串和原字符串是否相等,相等则只含数字,语法“preg_replace("/[^0-9]/","",字符串)===字符串”。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php检测字符串是否只含数字的两种方法:
方法1:使用is_numeric()函数检测
字符串只含数字,则该字符串为数字字符串。
而is_numeric()函数可以检测一个字符串是否为数字字符串。
is_numeric ($var)
$var
:要检测的变量。
如果指定的变量$var
是数字和数字字符串则返回 TRUE,否则返回 FALSE
<?php header("Content-type:text/html;charset=utf-8"); $str1="a678"; $str2="678"; $str3="3.14"; if (is_numeric($str1)){ echo "$var_name1 是数字字符串<br><br>"; } else{ echo "$str1 不是数字字符串<br><br>" ; } if (is_numeric($str2)){ echo "$str2 是数字字符串<br><br>"; } else{ echo "$str2 不是数字字符串<br><br>"; } ?>
方法2:使用preg_replace()函数和“===”运算符检测
使用preg_replace()函数配合正则表达式可以过滤字符,返回数字字符,组成一个数字字符串
使用“===”运算符比较数字字符串和原字符串是否相等,相等则字符串只含数字
<?php header("Content-type:text/html;charset=utf-8"); function f($str){ $result = preg_replace("/[^0-9]/", "", $str); if($result===$str){ echo "$str 字符串中只含数字<br><br>"; } else{ echo "$str 字符串中还有其他字符<br><br>" ; } } f("a678"); f("678"); ?>
preg_replace("/[^0-9]/", "", $str)
的意思为匹配除了0~9
间的数字以外的字符,并将这些字符替换为空字符,即删除这些字符即可。那么就只剩下数字字符了。
说明:preg_replace 函数执行一个正则表达式的搜索和替换,是一个强大的字符串替换处理函数,该它的语法格式为
preg_replace($pattern, $replacement, $subject [, $limit = -1 [, &$count]])
搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。
参数说明:
$pattern: 要搜索的模式,可以是字符串或一个字符串数组。
$replacement: 用于替换的字符串或字符串数组。
$subject: 要搜索替换的目标字符串或字符串数组。
$limit: 可选,对于每个模式用于每个 subject 字符串的最大可替换次数。 默认是-1(无限制)。
$count: 可选,为替换执行的次数。
以上就是“php如何检测字符串是否只含数字”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。