Laravel 中自定义 验证,例如身份证号验证
在laravel 5.5之后,您可以创建自己的自定义验证规则对象。
要创建新规则,只需运行Artisan命令:
php artisan make:rule Id
laravel将把新的rule类放在app/Rules
目录中
自定义对象验证规则的示例可能类似于:
<?php namespace App\Rules;use Illuminate\Contracts\Validation\Rule;class Id implements Rule {private $message;/*** Determine if the validation rule passes.** @param string $attribute* @param mixed $value** @return bool*/public function passes($attribute, $value){if(!$this->isValidCard($value)){$this->message = '身份证格式错误,请输入正确的身份证.';return false;}return true;}/*** Get the validation error message.** @return string*/public function message(){return $this->message;}/*** 身份证验证* @param $id* @return bool*/private function isValidCard($id) {if(18 != strlen($id)) {return false;}$weight = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];$code = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'];$mode = 0;$ver = substr($id, -1);if($ver == 'x') {$ver = 'X';}foreach($weight as $key => $val) {if($key == 17) {continue;}$digit = intval(substr($id, $key, 1));$mode += $digit * $val;}$mode %= 11;if($ver != $code[$mode]) {return false;}list($month, $day, $year) = self::getMDYFromCard($id);$check = checkdate($month, $day, $year);if(!$check) {return false;}$today = date('Ymd');$date = substr($id, 6, 8);if($date >= $today) {return false;}return true;}private function getMDYFromCard($id) {$date = substr($id, 6, 8);$year = substr($date, 0, 4);$month = substr($date, 4, 2);$day = substr($date, 6);return [$month, $day, $year];} }
在控制器里面引入:
$rules = ['buyer_name' => ['regex:/^[\p{Han}|\w]{2,30}$/u'],'buyer_id_number' => ['required', new Id],'buyer_telephone' => 'required|unique:investor',];
Laravel 中自定义 验证,例如身份证号验证相关推荐
- Java 身份证号验证
二代身份证号码验证 扯淡区: 本博客主要内容是利用Java语言来验证身份证号码是否符合18位的二代身份证号规范. 公民身份号码是特征组合码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次 ...
- 基于struts2框架-自定义身份证号验证器
自定义拦截器的步骤: 1.定义一个验证器的类: > 自定义的验证器都需要实现 Validator接口. > 可以选择继承 ValidatorSupport 或 FieldValidato ...
- python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...
- 手机号 ,邮箱,固定电话js验证,身份证号(正则表达式)
固定电话: var myreg =/^((1[0-9]{10})|(((([0-9]{3}-)?[0-9]{8})|(([0-9]{4}-)?[0-9]{7}))(-[0-9]{1,4})?))$/; ...
- 利用python实现身份证号验证系统
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...
- python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...
- 用python制作全国身份证号验证及查询系统
大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性 ...
- 【趣味案例】用python制作全国身份证号验证及查询系统
今天给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及发证地查询,看起来是不是很高大上, ...
- vue 验证公民身份证号 并 自动 获取 性别、年龄、生日
vue 验证公民身份证号 并 自动 获取 性别.年龄.生日 第一种方式: <template><el-form :model="baseInfo" ref=&qu ...
- PHP 身份证号验证是否是真实的
已测试,90%左右的身份证号都可以检验出来是否是真实的身份证号,如果要求不高的话,可以不用在使用第三方的身份证号验证了封装的model 可以直接使用的 大家可以借鉴看一下,有问题可以及时指出 < ...
最新文章
- 路遥知马力——Momentum动量梯度
- 第11章 AOF持久化
- 《iOS应用开发指南——使用HTML5、CSS3和JavaScript》——导读
- JS面向对象一:MVC的面向对象封装
- PostgreSQL增强版命令行客户端(pgcli)
- 正在搜索需要的文件_【数澜发布-澜寻】智能内容搜索引擎,释放“机器阅读” 潜力...
- 修改系统Documents and Settings目录的位置
- MSP430程序库二UART异步串口
- iOS 数据持久化 NSUserDefault
- MFC中获取各个窗口(对话框)之间的指针、对象、句柄
- RT-thread 环境下使用 HASH hwcrypto 配置使用底层硬件HAH库问题记录
- datav可视化大屏使用教程
- 关于Oracle官网需要登录Oracle账户问题(亲测有效)
- 一起来Fit TDMA over WiFi
- 查看树莓派I2C设备是否正常
- PCIE——第5章——Montevina 的 MCH 和 ICH
- Linux服务器绑定mac与ip,Linux实现ip和mac绑定
- 【报告分享】小红书平台2021 11.11期间行业投放分析报告-千瓜数据(附下载)
- java.awt.Color 颜色代码对照表
- android文件管理器u盘,Android U盘文件显示在文件管理器