教程集 www.jiaochengji.com
教程集 >  脚本编程  >  php  >  正文 php判断是否为数字或字符类型的方法

php判断是否为数字或字符类型的方法

发布时间:2016-08-07   编辑:jiaochengji.com
本文介绍下,在php编程中,判断是否为数字,或是否为字符类型的方法。有需要的朋友参考下。

首先,php 正则验证字符串是否为数字。
方法一:
在php中用正则验证是否为数字,很简单,掌握好基本的正则表达式即可。
例如:

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

方法二:
对关键的参数必做过滤。
例如,数字正则过滤:

<?php
if(preg_match(“/^\d*$/”,$fgid)) echo(‘是数字’);
else echo(‘不是数字’);
//注:$fgid为null 是为true
或用函数
if(is_numeric($fgid)) echo(‘是数字’);
else echo(‘不是数字’);
?>

两种方法的区别: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之间,只能包含字符、数字和下划线。
验证是否含有 ^%&‘,;=?$\” 等字符:[^%&‘,;=?$\x22]+
验证汉字:^[\u4e00-\u9fa5],{0,}$
验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
验证InternetURL:^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ ;^[a-zA-z]+://(w+(-w+)*)(.(w+(-w+)*))*(?S*)?$
验证电话号码:^(\(\d{3,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+)?

在php编程中,合理使用php正则,有时真的会事半功倍,效果不是一般的好。

您可能感兴趣的文章:
检测数据类型php函数集
python判断变量的类型吗
python怎么判断数据类型
php判断字符串是纯英文、纯汉字或汉英混合的实现代码
php判断是否为数字或字符类型的方法
php判断是否为数字
PHP判断变量是否已存在
python 判断变量是数字型还是字符型
python判断字符类型怎么做
php判断上传文件的文件类型的几种方法

[关闭]
~ ~