PHP正则验证字符串是否为数字的两种方法并附常用正则


Posted in PHP onFebruary 27, 2019

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之间,只能包含字符、数字和下划线。
  • 验证是否含有 ^%&‘,;=?$\” 等字符:[^%&‘,;=?$\x22]+
  • 验证汉字:^[\u4e00-\u9fa5],{0,}$
  • 验证Email地址:^\w+[-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
  • 验证InternetURL:^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,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 相关文章推荐
杏林同学录(四)
Oct 09 PHP
NO3第三帝国留言簿制作过程
Oct 09 PHP
表单复选框向PHP传输数据的代码
Nov 13 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
php图片水印添加、压缩、剪切的封装类实现
Apr 18 PHP
详解php几行代码实现CSV格式文件输出
Jul 01 PHP
php简单实现单态设计模式的方法分析
Jul 28 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
Laravel5.4简单实现app接口Api Token认证方法
Aug 29 PHP
Yii框架日志操作图文与实例详解
Sep 09 PHP
php实现QQ小程序发送模板消息功能
Sep 18 PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 #PHP
asp函数split()对应php函数explode()
Feb 27 #PHP
PHP中引用类型和值类型功能与用法示例
Feb 26 #PHP
PHP5.6读写excel表格文件操作示例
Feb 26 #PHP
PHP中抽象类,接口功能、定义方法示例
Feb 26 #PHP
PHP htmlentities()函数用法讲解
Feb 25 #PHP
PHP html_entity_decode()函数讲解
Feb 25 #PHP
You might like
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
php 中英文语言转换类
2011/09/07 PHP
基于递归实现的php树形菜单代码
2014/11/19 PHP
javascript YUI 读码日记之 YAHOO.util.Dom - Part.4
2008/03/22 Javascript
jQuery语法总结和注意事项小结
2012/11/11 Javascript
nodejs教程 安装express及配置app.js文件的详细步骤
2013/05/11 NodeJs
面向对象设计模式的核心法则
2013/11/10 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
JavaScript插件化开发教程(六)
2015/02/01 Javascript
jquery中radio checked问题
2015/03/16 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
js省市联动效果完整实例代码
2015/12/09 Javascript
详解如何让Express支持async/await
2017/10/09 Javascript
bootstrap fileinput插件实现预览上传照片功能
2018/01/23 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
VUEX采坑之路之获取不到$store的解决方法
2019/11/08 Javascript
vue实现顶部菜单栏
2020/11/08 Javascript
[49:15]DOTA2-DPC中国联赛 正赛 CDEC vs XG BO3 第二场 1月19日
2021/03/11 DOTA
Python批量修改文件后缀的方法
2014/01/26 Python
Django的session中对于用户验证的支持
2015/07/23 Python
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
Django 后台带有字典的列表数据与页面js交互实例
2020/04/03 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
介绍一下Linux文件的记录形式
2013/09/29 面试题
会计专业应届生自荐信
2014/02/07 职场文书
二年级班级文化建设方案
2014/05/10 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
升职自荐信怎么写
2015/03/05 职场文书
2015年安康杯竞赛活动总结
2015/03/26 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
详细谈谈JavaScript中循环之间的差异
2021/08/23 Javascript