PHP正则验证字符串是否为数字的两种⽅法并附常⽤正则php 正则验证字符串是否为数字
⽅法⼀:
php中利⽤正则表达式验证字符串是否为数字⼀件⾮常容易的事情,最主要的是如何写好正则表达式以及掌握正则表达式的写法,在此利⽤正则表达式的⽅式来列举⼀下判断数字的⽅法。
<?
if($str)
{
  if(eregi("^[0-9]+$",$str))
  {
    $str=(int)$str;
  }
  else
  {
    echo "获取到的数据不是有效的数字类型,操作将停⽌!";
    exit();
  }
}
else
{
  echo "需要验证的数据为空,操作停⽌!";
  exit();
}
>
⽅法⼆:
建议⼤家对关键的参数必须做过滤。如数字正则过滤
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,}$
验证m-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之间,只能包含字符、数字和下划线。
验证是否含有 ^%&‘,;=?$\” 等字符:[^%&‘,;=?$ 22]+
验证汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^([\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,XXXXXXXX。
验证⾝份证号(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+)?
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。如果你想了解更多相关内容请查看下⾯相关链接

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。