html form int,is_int, is_numeric, is_float, and HTML form validation

问题

A select field on my HTML form may yield 1 to 5 (integers). Using is_int rejects it every time, because the $_POST['rating'] is viewed as a string.

After consulting the PHP Manual, it seems is_numeric() && !is_float() is the proper way to validate for an integer in this case.

But I want to be certain, so please confirm or fire away at my logic.

回答1:

I would use is_numeric(), because user input always comes in as a string (as far as I know).

Another way to guarantee something is an integer is to cast it...

$id = (int) $id;

回答2:

I would probably use something like this:

$value = filter_var(

$_POST['rating'],

FILTER_VALIDATE_INT,

array('options' => array('min_range' => 1, 'max_range' => 5)));

filter_var() will return either boolean false if the value is non-integer or out-of-range, or the valid value itself (as an integer.)

回答3:

You could use the following regular expression:

preg_match('/^[0-9]{1,}$/', $value);

I does validate digits with leading zeros though...

回答4:

is_int requires the input content is a integer.

is_numeric requires the input content is a integer or a string including just 0-9.

but I am wondering the result if I put a number that is bigger than PHP_INT_MAX as the parameter into the above 2 functions.

回答5:

You can always cast it as an int.

$rating = (int)$_POST['rating'];

This will remove the need to validate it (even though you should always validate form data).

It may reduce your steps is what I'm getting at.

回答6:

If you're testing for digits only (what an integer usually is ;)), I tend to use ctype_digit instead of is_int. That way, you won't lose data through casting, and you can just use a string:

$_POST['foo'] = '42';

echo ctype_digit( (string) $_POST['foo'] ) ? 'yep' : 'nope';

That'll output "yep".

回答7:

if you want to know if $_POST['rating'] is an int before you even try to cast do use is_numeric() && !is_float() as you have. This will tell you if the string is an int or not. If you just cast to an int and there is a non numeric all the numbers before the first letter in the string is turned into an int.

x = 457h

print (int)x

outputs 457

x = h56

print (int)x

outputs 0

来源:https://stackoverflow.com/questions/5486926/is-int-is-numeric-is-float-and-html-form-validation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/522514.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

美国专利机构榜单:华为、京东方进前20名;印度巨头信实与微软结盟;三星发布 1.08 亿像素传感器,小米参与合作……...

关注并标星星CSDN云计算极客头条:速递、最新、绝对有料。这里有企业新动、这里有业界要闻,打起十二分精神,紧跟fashion你可以的!每周三次,打卡即read更快、更全了解泛云圈精彩newsgo go go 特斯联完成20亿元C1轮融资&a…

本地安装Docker

docker官网:https://hub.docker.com/?overlayonboarding

阿里云上Kubernetes集群联邦

摘要: kubernetes集群让您能够方便的部署管理运维容器化的应用。但是实际情况中经常遇到的一些问题,就是单个集群通常无法跨单个云厂商的多个Region,更不用说支持跨跨域不同的云厂商。这样会给企业带来一些担忧,如何应对可用区级别…

边缘检测robert原理_在操作机器视觉检测过程中,遇到检测精度的难题怎么办?_西旺科技...

随着自动化行业发展,机器视觉技术的应用已经十分广泛。但是在一些机器视觉检测项目中,很多客户遇到了检测精度的难题。例如:检测加工零件的外形尺寸、内外径,要求精度到10um。目前很多配置选择500万的相机,理论上是可以…

引以为戒,特斯拉Kubernetes控制台被黑客攻击

摘要: 特斯拉公司惨遭“毒手”是因为其Kubernetes平台没有设置密码保护。 点此查看原文:http://click.aliyun.com/m/43609/ 几个月前RedLock公司工作人员发现:数百个Kubernetes管理控制台无需密码即可访问,即直接公开暴露在互联网…

linux 发送http请求方式

第一种: 在浏览器访问: http://192.168.205.130:9000另外一种是命令行形式 curl 192.168.205.130:9000效果是一样的

华南理工大学计算机科学与技术,计算机科学与技术

摘要:As the coinductive data types in the framework of the category theory can be regarded as the carriers of final coalgebras for some coalgebraic functors,this paper presents the coalgebraic descriptions of the coinductive data types in progra…

来华30载,这些都是Oracle的神来之笔……

戳蓝字“CSDN云计算”关注我们哦!作者|刘晶晶出色的数据掌控可以为企业带来极大的业务领先与竞争优势,这一点毋庸置疑,尽管在面对海量数据管理时依然会出现诸多问题与挑战。如此说来那些在数据管理方面战略到位的企业们究竟有何杀手锏&#x…

Chrome 渲染流水线演化的未来

摘要:前段时间我写了一篇文章浏览器渲染流水线解析与网页动画性能优化,对目前 60 左右版本的 Chrome 的渲染流水线进行解析,文末也讨论了当前渲染流水线的一些不足和未来演化的方向。 当前的渲染流水线过于复杂和冗长,特别是对于非…

计算机的3类系统总线分别是_《深入理解计算机系统》读书笔记—第六章、存储器层次结构...

存储器系统是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存(SRAM)作为一部分存储在相对慢速的主存储器(DRAM)中数据和指令的缓冲区域。主存储器&#xff0…

iOS Mach异常和signal信号

摘要: 本着探究下iOS Crash捕获的目的,学习了下Crash捕获相关的Mach异常和signal信号处理,记录下相关内容,并提供对应的测试示例代码。Mach为XNU的微内核,Mach异常为最底层的内核级异常,在iOS系统中&#x…

怎样清除手机中的html文件夹,怎么彻底清除手机APP卸载后的残留文件夹 能删与不能删文件名...

手机里的文件和手机下载了app之后,即使卸载,也很容易有垃圾残留,而且占用的空间还挺多,但是根本不知道哪些是垃圾,要怎么清除这些垃圾?  一般清理垃圾软件,如360,腾讯管家等可以清…

Kubernetes要成为一个企业友好平台,到底还缺啥?

戳蓝字“CSDN云计算”关注我们哦!Kubernetes的崛起令人惊叹。在短短几年时间内,它已经从一个由一群云原生开发者倡导的开源项目转变为由三家主要云服务提供商推广的标准运维平台。由于应用程序工作负载从VM转移到容器,Kubernetes已成为自动化…

局域网设置_局域网设置

把路由连好后,在2台机上分本地网络-(TCP/IP)里,别输入同一IP段就可以了例如:192.168.1.2255.255.255.0192.168.1.3255.255.255.0上面说的只是通过连接好路由后,不考虑上网状况,只是电脑对连可以打游戏和互传东西的方法以下是从设置路由到设置机器从而能上网和互连的过程:打开一…

10分钟上线 - API网关 + 函数计算实现图片处理服务

摘要: 阿里云函数计算服务(FunctionCompute,FC)是一个事件驱动的全托管计算服务。通过函数计算与云端各个服务的广泛集成,开发者只需要编写函数代码,就能够快速地开发出弹性高可用的后端系统。接下来我们利…

Spring Boot2 整合 MyBatis 多数据源

pom.xml <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/POM/4.0.0…

如何利用阿里云打造感知零售平台

摘要&#xff1a; 一、背景介绍所谓感知零售是指的根据店铺顾客的情绪变化以及顾客在店铺内对商品货架停留位置来判断顾客对商品感兴趣程度&#xff0c;实时在线调整营销策略。帮助企业第一时间掌握顾客感受&#xff0c;第一时间下发营销策略&#xff0c;第一时间得到营销效果反…

Spark精华问答 | 怎么运行Spark?

戳蓝字“CSDN云计算”关注我们哦&#xff01;为什么要学习Spark&#xff1f;作为一个用来实现快速而通用的集群计算的平台。扩展广泛使用的MapReduce计算模型&#xff0c;而且高效地支持更多的计算模式&#xff0c;包括交互式查询和流处理。Spark的一个重要特点就是能够在内存中…

计算机软考网络管理员题,2020年计算机软考网络管理员考前测试题及答案

2020年计算机软考网络管理员考前测试题及答案一、选择题&#xff1a;1、网络协议主要要素为(C)。A.数据格式、编码、信号电平B.数据格式、控制信息、速度匹配C.语法、语义、定时D.编码、控制信息、定时2、网络协议中规定通信双方要发出什么控制信息&#xff0c;执行的动作和返回…

mac抹掉磁盘重装系统未能与服务器取得联系_【工具】mac笔记本rm -rf 后 如何恢复删除的文件...

本来是要cp -rf 到另一个地方的&#xff0c;然后用git管理起来的。当时不知道怎么了&#xff0c;可能是最近加班多了直接执行了rm -rf 。这种一般是可以恢复的就是要来回折腾&#xff0c;不过也没办法只有折腾了&#xff0c;写了几天的内容可不想再重写一边~这里做一下恢复的记…