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 相关文章推荐
discuz Passport 通行证 整合笔记
Jun 30 PHP
用PHP程序实现支持页面后退的两种方法
Jun 30 PHP
PHPMYADMIN 简明安装教程 推荐
Mar 07 PHP
php中定义网站根目录的常用方法
Aug 08 PHP
php生成短网址示例
May 05 PHP
PHP入门教程之数学运算技巧总结
Sep 11 PHP
php图像处理函数imagecopyresampled用法详解
Dec 02 PHP
PHP基于GD2函数库实现验证码功能示例
Jan 27 PHP
详解关于php的xdebug配置(编辑器vscode)
Jan 29 PHP
php使用json-schema模块实现json校验示例
Sep 28 PHP
Laravel 登录后清空COOKIE的操作方法
Oct 14 PHP
PHP中关于php.ini参数优化详解
Feb 28 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
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
使用PHP实现生成HTML静态页面
2015/11/18 PHP
php上传图片获取路径及给表单字段赋值的方法
2016/01/23 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
2016/07/20 PHP
PHP中的use关键字及文件的加载详解
2016/11/28 PHP
php实现XML和数组的相互转化功能示例
2017/02/08 PHP
php通过pecl方式安装扩展的实例讲解
2018/02/02 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
JS 实现列表与多选框选择附预览动画
2014/10/29 Javascript
Web前端开发之水印、图片验证码
2016/11/27 Javascript
javascript使用btoa和atob来进行Base64转码和解码
2017/03/20 Javascript
JavaScript设计模式之调停者模式实例详解
2018/02/03 Javascript
Vue formData实现图片上传
2019/08/20 Javascript
JS脚本实现定时到网站上签到/签退功能
2020/04/22 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
Django中的Signal代码详解
2018/02/05 Python
python2.7 json 转换日期的处理的示例
2018/03/07 Python
pandas 两列时间相减换算为秒的方法
2018/04/20 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
Python Tkinter 简单登录界面的实现
2019/06/14 Python
python opencv如何实现图片绘制
2020/01/19 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
Python 2.6.6升级到Python2.7.15的详细步骤
2020/12/14 Python
HTML5之web workers_动力节点Java学院整理
2017/07/17 HTML / CSS
给护士表扬信
2014/01/19 职场文书
2014年道德讲堂实施方案
2014/03/05 职场文书
2014年五一活动策划方案
2014/03/15 职场文书
婚前协议书怎么写
2014/04/15 职场文书
书法大赛策划方案
2014/06/04 职场文书
舞蹈教育学专业自荐信
2014/06/15 职场文书
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers