FILTER_VALIDATE 与 Preg_match。使用哪一个?

2023-12-25

要验证输入日期(无论是表单 URL 还是表单),您通常使用哪种技术?

我一直在看PHP 过滤器 http://www.w3schools.com/php/php_ref_filter.asp但我很少在任何代码上看到它们。

我平时见过preg_mach的使用,例如:

$numbers = "/^[0-9]+$/D";

if (preg_match($numbers, $var)){
    echo "is number";
}

代替:

if(!filter_var($var, FILTER_VALIDATE_INT))
    echo "is number";
}

使用其中一种或另一种有什么优势吗? 谢谢!


我的两分钱:这取决于。

是否应该在正则表达式上使用过滤器函数取决于具体情况。其实,标准很简单:

有没有filter_*存在的验证函数exactly我期待什么样的输入?

  • 如果是这样,请使用它filter_*功能。
  • 否则,请使用正则表达式。

正则表达式比filter_*功能,但是功能filter_*和正则表达式的相关性非常松散。最有可能的是,可以设计一个正则表达式来完成以下工作:filter_*功能,但反之则不行。因此,正则表达式为表带来了更多的功能和灵活性,同时也更加复杂。

就个人而言,在处理简单输入(整数、日期、时间)时,我使用filter_*函数,而更复杂的输入或非常具体或自定义的输入(自定义标识符应以字母开头和结尾,中间有 3 位数字)更适合正则表达式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FILTER_VALIDATE 与 Preg_match。使用哪一个? 的相关文章

  • 突出显示单词并提取其附近文本的函数

    我有一个文本例如 Etiam porta semmalesuada magna mollis euismod 整数取数 ante venenatis dapibus posuere velit aliquet 埃蒂亚姆 门塔 塞姆 male
  • php:验证 POST 的最佳方法

    我一直在使用下面的代码来验证 POST 的用户输入 if isset POST name empty POST name n POST name else errors Please give a name 这段代码检查是否确实设置了 na
  • 如何使用 JavaScript 验证表单? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 假设我有一个带有一些文本字段和一个提
  • PHP Laravel 路由问题

    我的设置目前看起来像这样 应用程序 控制器 register php class register Controller extends Base Controller public restful true public function
  • PHP:合并/添加多维数组?

    假设我有几个具有相同结构的多维数组 如下所示 basketA fruit apple 1 basketA fruit orange 2 basketA fruit banana 3 basketA drink soda 4 basketA
  • 在应用程序上按下类似按钮时自动刷新时间线页面?

    在时间轴发布到页面上之前 当用户在页面上按下 点赞 按钮时 页面会自行刷新 现在 启用时间线后 如果您访问应用程序并按右上角的类似按钮 页面不会自行刷新 并且应用程序不会识别用户 喜欢 该页面 当用户按下 喜欢 按钮时 是否有一种方法或事件
  • 无法将包含数据的大型 CSV 文件转换为 mysql 数据库[重复]

    这个问题在这里已经有答案了 如何将大型文本文件转换为mysql数据库 文件大小3GB 1100万行 文件中的每一行都是这样的 1303179444 20 5811 Ahmed Al Emam male ahmed e alemam ahme
  • 如何使用 Magento 测试 cron?

    首先我需要了解 Magento cron 是如何工作的 我知道 cron 在 Linux 上如何工作 使用crontab e 我知道我需要设置 Magento 的 cron php 定期运行 但是当我在 magento 配置文件中定义 cr
  • Php mail() vs Yahoo:有人可以简单解释YAHOO从php邮件功能接收邮件所需的步骤吗?

    我已经看到了关于这个主题的数千个类似问题 并且可以肯定的是我知道 标记为重复问题 SO中的事情 然而 仍然不清楚如何或必须做什么 简单来说 才能从 PHP mail 函数接收雅虎收件箱电子邮件 在雅虎网站上 他们提供了一个示例脚本来发送邮件
  • PHP登录然后重定向

    我使用以下代码将用户登录到一系列安全页面 我需要将每个用户在提交后重定向到适当的页面 我想知道需要采取哪些步骤来选出三个登录级别 管理员 特殊 用户 if isset SESSION username function check logi
  • Laravel 中 Twitter Bootstrap 导航的自动活动类

    和大多数人一样 我正在使用 Twitter Bootstrap 来构建我目前在 Laravel 中开发的网站 到目前为止 我很喜欢使用 Laravel 作为与 Rails 相当的 PHP 但我想知道是否有更好的方法来制作导航栏 我试图确保我
  • K2_内容模块评级

    我一直在category item php 中重建标准K2 评级 以查看评级从显示为星星到显示为数字 我所做的是 我替换了这段代码 div div class itemRatingForm ul class itemRatingList l
  • 搜索多个表 (SQL)

    我需要能够有一个 SQL 查询来使用简单的搜索来搜索我的数据库 这是我的表格现在的样子 Table artists id name Table albums id artistID name Table songs id albumID n
  • PHP - 获取 URL 中写入的 $_GET 参数字符串的最简单方法

    我正在尝试从一个页面重定向到另一页面 同时保留参数 例如如果我有一个页面 page php param1 1 param2 2 提取 param1 1 param2 2 的最简单方法是什么 Use SERVER QUERY STRING 访
  • PHP Imagick - setTextEncoding() 函数不起作用

    我正在尝试在 Imagick 对象上添加一些文本 但是我使用 setTextEncoding 函数 它仍然不起作用 draw new ImagickDraw draw gt setTextEncoding utf 8 draw gt set
  • Laravel 中的 SQL 运算符是什么?

    我正在查看 Laravel 的源代码 发现了很多 Eloquent 的 SQL 运算符 我想知道其中一些是什么以及如何使用它们 不幸的是我没有找到任何文档 这是我找到的运营商vendor laravel framework src Illu
  • 使用 google 检查 url,安全 = 活动

    如何检查 url 是否被 google 显示 Example https www google com search q redtubex xxx safe active Code input http www example com in
  • 删除 cookie php

    我正在尝试创建一个带有登录系统的平台 并将用户名和密码存储在cookie中 以使用户即使关闭浏览器然后再次输入也能保持登录状态 我设法保存了cookie 但我不知道如何制作注销按钮 这是代码 function logout body app
  • 检测图像是否损坏或损坏

    我需要以编程方式检查用户在我的应用程序上选择作为壁纸的图像是否已损坏或损坏 基本上我为用户提供了选择自己的图像作为壁纸的选项 现在 当图像加载时 我只想检查它是否已损坏 如果您正在寻找 PHP 解决方案而不是 javascript 解决方案
  • 如何对“2-1”这样的字符串进行数学计算以产生“1”?

    我只是想知道 PHP 是否有一个函数可以接受像这样的字符串2 1并产生它的算术结果 或者我必须手动执行此操作explode 获取算术运算符左侧和右侧的值 我知道这个问题很老了 但我昨晚在寻找不太相关的东西时遇到了它 而且这里的每个答案都很糟

随机推荐

  • 何时以及如何将 ILMerge 与 Visual Studio 项目/解决方案结合使用

    我正在开发一个中型企业应用程序 有很多项目 解决方案 例如 Company Data 公司 Data LinqToSql 公司 实体 业务对象 公司 BLL 然后我有一些应用程序 例如 Windows 服务 我的Windows服务 当我部署
  • regexp_matches 摆脱返回大括号的更好方法

    有没有更好的修剪方法 regexp matches 的结果比 trim trailing from trim leading from regexp matches note 0 9a z r n i text regexp matches
  • Javascript:按三个值对对象数组进行排序

    我有一个对象数组 我想使用 sort 函数对其进行排序 它应按三个值排序 首先按第一个值排序 然后按第二个值排序 最后按第三个值排序 我尝试过类似以下的方法 但它似乎无法正常工作 myArray sort function a b if a
  • Chart.js 闪烁

    谁能告诉我为什么我的 Chart js 图表闪烁 请参阅此截屏视频 https www screencast com t J8demDuX https www screencast com t J8demDuX 视频中看起来很慢 但实际上变
  • 将一个命令的输出作为另一个命令的输入进行管道传输[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有以下任务 编写一个 C 程序来读
  • Flutter:调试集成测试

    我正在学习 Flutter 并使用 Android Studio 作为我的 IDE 并且在集成测试方面遇到了一些痛点 作为学习过程的一部分 我编写了一个基本的集成测试 此集成测试的目的是检查图像小部件 通过 Image Asset 创建 以
  • 获取 Google 云端硬盘授权时遇到问题

    我有一个 Android 应用程序 我正在尝试 重新 实现 Google 云端硬盘访问权限 我遵循的方法是 Google 更新 REST API 的迁移指南here https github com gsuitedevs android s
  • 来自另一个类的 getter/setter 的 MethodHandle 给出 NoSuchFieldError

    假设我有简单的javabeanMyPerson with a name获取器和设置器 public class MyPerson private String name public String getName return name p
  • 无法读取 maven-resources-plugin 的工件描述符

    Stage 我正在尝试在 Eclipse 中编译 Maven 项目 Spring Tool Suite 版本 3 2 0 RELEASE 每个项目编译都会抛出这个 Could not calculate build plan Plugin
  • 如何区分不同类型的 Perl 测试,这样我就不必运行所有测试?

    我注意到 Perl 中的习惯是将所有测试放入t目录 如何将单元测试与功能测试分开 或者 为了使问题更简单 更明显 如何将快速运行的测试与运行速度慢的测试分开 当所有测试一起运行时 测试花费的时间太长 无法在开发中常规使用 这是遗憾的 我想我
  • Metro APP - BitmapImage 到 Byte[] 或从 Web 下载图像并将其转换为 Byte[] 数组

    有没有办法将 BitmapImage Windows UI Xaml Media BitmapImage 转换为 Byte 数组 我没有尝试过任何工作 另一种可能的情况 如果 BitmapImage 无法转换为字节数组 是从网络下载图像 然
  • 角度目录光滑执行

    我正在使用以下插件 http vasyabigi github io angular slick http vasyabigi github io angular slick 我也在使用 ng repeat 所以我发现它在 ng repea
  • 在宏中使用“else”

    我看过下面的代码 define QL REQUIRE condition message if condition std ostringstream ql msg stream ql msg stream lt lt message th
  • 如何以编程方式指定replyUrlsWithType

    我想设置replyUrlsWithType以编程方式在应用程序上manifest https learn microsoft com en us azure active directory develop reference app ma
  • Eclipse 在调试 java 时跳过断点

    我使用 Eclipse 已经很多年了 并且一直使用调试器 但最近我知道它可以在调试时跳过断点 我什至已经在 println 上设置了一个断点 我会看到文本出来 但不会到达断点 另外 有时我会在代码的一个区域一致地遇到断点 但在其他区域却不会
  • default(Type) 的编程等效项

    我正在使用反射来循环Type的属性并将某些类型设置为其默认值 现在 我可以切换类型并设置default Type 明确地 但我宁愿在一行中完成 是否存在与默认值等效的编程方式 如果是值类型使用激活器 CreateInstance http
  • SET NOCOUNT ON 使用情况

    灵感来自这个问题 https stackoverflow com questions 1483383 is this stored procedure thread safe or whatever the equiv is on sql
  • 如果数据包含撇号,如何插入?

    实际上 我的任务是使用 C 将 csv 文件加载到 sql server 中 所以我用逗号将其拆分 我的问题是某些字段的数据包含撇号 并且我正在触发插入查询以将数据加载到 sql 中 所以它给出了我的编码错误 using System us
  • 如何按列对文本文件进行排序并保持原始顺序

    我有一个非常大的数据文件 有 15 列 我需要根据特定列 例如第 11 列 对所有行进行排序 我在 Linux 中使用以下命令 sort k11 d myfile txt gt sortedfile 问题是排序命令不保留文件的原始顺序 例如
  • FILTER_VALIDATE 与 Preg_match。使用哪一个?

    要验证输入日期 无论是表单 URL 还是表单 您通常使用哪种技术 我一直在看PHP 过滤器 http www w3schools com php php ref filter asp但我很少在任何代码上看到它们 我平时见过preg mach