Code前端首页关于Code前端联系我们

PHP 检查字符串是否为数字的方法有两种,常用的正则规则

terry 2年前 (2023-09-25) 阅读数 48 #后端开发

php 正则检查字符串是否为数字

1。方法:

在php中使用正则表达式检查字符串是否为数字非常重要。最重要的是如何写好正则表达式,学会如何写正则表达式。这里列出了使用正则表达式判断数字的方法。

<?
if($str)
{
  if(eregi("^[0-9]+$",$str))
  {
    $str=(int)$str;
  }
  else
  {
    echo "获取到的数据不是有效的数字类型,操作将停止!";
    exit();
  }
}
else
{
  echo "需要验证的数据为空,操作停止!";
  exit();
}
?>

2。方法:

我们建议您过滤掉最重要的参数。例如,使用数字正则过滤器

if(preg_match("/^\d*$/",$fgid))  echo('是数字');
else  echo('不是数字');

或函数

if(is_numeric($fgid)) echo('是数字');
else echo('不是数字');[/code]这两种方法的区别是 is_numeric小数也会认为是数字,而前面正则会把小数点当作字符。

进行一些常用的正则运算:

  • 检查数字:^[0-9]*$
  • 检查 n 位数字:^\d {n }$
  • 检查至少 n 位数字:^\d{n,}$
  • 检查 n 位数字:^\d{m,n}$
  • 检查零和非零数字: ^(0 |[ 1-9][0-9]*)$
  • 检查是否有两位小数的正实数:^[0-9]+([0-9]{2})? $
  • 检查正实数 1- 小数点后 3 位:^[0-9]+([0-9]{1,3})?$
  • 非零正整数检查:^\ +? [1-9 ][0-9]*$
  • 检查非零负整数:^\-[1-9][0-9]*$
  • 检查非负整数(正整数+ 0 ) ^\d+$
  • 检查非正整数(负整数 + 0)^((-\d+)|(0+))$
  • 检查长度为 3 的字符:^.{3 } $
  • 检查 26 个英文字母字符串:^[A-Za-z]+$
  • 检查 26 个大写英文字母字符串:^[A-Z]+$
  • 检查 26 个小写英文字母字符串:^ [a-z]+$
  • 确保字符串由数字和26个英文字母组成:^[A-Za-z0-9]+$
  • 确保字符串由数字和26个英文字母组成 停止或下划线字符串组成:^\w+$
  • 验证用户密码:^[a-zA-Z]\w{5,17}$ 正确格式为:以字母开头,长度6-18,只能包含字符、数字和下划线。
  • 检查^%&',;=?$\”等字符:[^%&',;=?$\x22]+
  • 检查汉字:^[\ u4e00-\u9fa5 ], { 0,}$
  • 查看电子邮件地址: ^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([ -.]\w+) *$
  • 检查 Internet URL: ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ; ^[a-zA-z ]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
  • 验证电话号码: ^(\d3 , 4\d3,4| \d{3,4}-)?\d{7,8}$: – 正确格式为 XXXX-XXXXXXX、XXXX-XXXXXXXX、XXX-XXXXXXX、XXX-XXXXXXXX、XXXXXXX、XXXXXXXXX 。
  • 检查身份证号码(15 或 18 位):^\d{15}|\d{}18$
  • 检查一年中的 12 个月:^(0?[1-9]| 1[ 0- 2])$ 正确的格式是 "01"-"09" 和 "1" "12"
  • 检查该月的第 31 天:^((0?[1-9])|(( 1 | 2)[ 0-9])|30|31)$ 正确格式为 01, 09 和 1, 31。
  • 整数:^-?\d+$
  • 非负浮点数(正浮点数)点 + 0): ^ \d+(\.\d+)?$
  • 正浮点数 ^(([0-9 ]+\.[0-9]*[1-9][0-9 ] *)|([0-9]*[1-9][0-9]*\[0-9]+)|([0-9]*[1-9][0-9]*)) $
  • 非正浮点数 (负浮点数 + 0) ^((-\d+(\.\d+)?) |(0+(\.0+)?))$
  • 负浮点数 ^(-(([0- 9]+\.[0-9]*[1-9][0-9]* )|([0-9]*[1-9][ 0- 9]*\.[0-9]+ )|([0-9]*[1-9][0-9]*)) )$
  • 浮点数 ^(-?\d+) (\ .\d+)?

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门