场景的意义 模型可能在多个场景下使用,例如 User 模块可能会在收集用户登录输入, 也可能会在用户注册时使用。在不同的场景下, 模型可能会使用不同的业务规则和逻辑, 例如 email 属性在注册时强制要求有,但在登陆时不需要。(目前我的理解是场景主要用来做参数验证的) 使用示例(本示例以用户模型在注册,登录两个场景下的使用方法分析): // 场景作为属性来设置 $model = new User; $model->scenario = 'login'; 或 ......
Linux shell使用nc命令验证IP 端口是否可以连通。 nc -v -w 5 -z 192.168.1.114 2182 &> /dev/null echo $? 输出结果 1 表示不通,0 表示通。 下面是 nc 命令的一些参数说明: -g<网关> 设置路由器跃程通信网关,最丢哦可设置8个。 -G<指向器数目> 设置来源路由指向器,其数值为4的倍数。 -h 在线帮助。 -i<延迟秒数> 设置时间间隔,以便传送信息及扫描通信端口。 -l 使用监听模式,管控传入的资料。 -n 直接使用IP地址,而......
js正则验证邮箱格式是否正确。 function isEmail(email) { if (!email) { return false; } var strRegex = /^(\w-*\.*)+@(\w-?)+(\.\w{2,})+$/; if (!strRegex.test(email)) { return false; } return true; }
laravel参数验证规则扩展示例,如下: <?php namespace App\Library; use App\Models\ProvinceCityCounty; use Input; use Validator; class ValidatorRules { public static function extend() { self::identitycards(); self::cloudFileId(); self::id(); self::strwidth(); self::equal(); self::mod(); self::mobile(); self::surname(); // 真是姓......
laravel的验证可以直接在控制器里面这样验证: $validatedData = $this->validate([ 'title' => 'required|unique:posts|max:255', 'body' => 'required', ]); if ($validatedData ->fails()) { //未通过处理 } 或 Validator::make($request->all(), [ 'title' => 'required|unique:posts|max:255', 'body' => 'required', ])->validate(); 但在控制器里面直接验证,没有做到分离。这样我们可以把表单......
laravel 参数验证功能非常强大,这里将平时写的一个比较全的验证记录一下,以备忘,具体代码如下: <?php /** * Created by PhpStorm. * User: yhm * Date: 19-6-6 * Time: 下午3:48 */ namespace App\Http\Requests\Admin; use App\Models\CoursePromotion; use App\Models\CoursePromotionAgents; use App\Models\Quan; use App\Models\QuanActivity; use Illuminate\Foundation\Http\FormRequest; use Mockery\Excepti......
Laravel 的验证功能非常强大,基本上常见的需求都有对应的验证规则,对于一些的特殊的验证需求,Laravel 也提供了正则验证。 官方文档: regex:pattern 注:使用 regex 模式时,如果正则中使用管道符 |,正则规则必须放在数组中。例如: public function rules() { return [ 'username' => 'required|regex:/^[a-zA-Z0-9_-]{4,16}$/' ]; } 上面这个正则验证,是没有问题的(因为没有使用管道符 | ),但官方推......
Laravel 提供了强大的表单验证规则,我在项目中 exists 和 unique 用得比较频繁,参照官方文档写下此文,以便记录下这两个规则的详细用法,以下基于 Laravel 5.4 提供了使用字符串和 Illuminate\Validation\Rule 两种方式生成规则的方法。 exists:table,column 验证字段的值是否存在于数据库指定表的指定列中,如果不存在将会抛出异常,这里是关于 exists 规则的详细说明。 基本用法 验证 users 表中是否存在 email 等于指定的......
这次给大家带来在JQ中正则验证不能含有中文的方法,在JQ中正则验证不能含有中文的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了正则验证不能含有中文的实现方法。分享给大家供大家参考,具体如下: jQuery利用正则验证不能含有中文 var myReg = /^[a-zA-Z0-9_]{0,}$/; if (!myReg.test(input.val())) { $.validation.tip(false, input, "用户名不能含有中文或特殊字符"); return; }
Laravel 对验证应用的输入数据提供了多中途径的实现。默认的,Laravel 的基础控制器类使用了 ValidatesRequests trait,该性状允许使用各种强大的验证约束来验证 HTTP 的输入请求。 为了了解 Laravel 强大的验证功能,下面我们以一个完整的示例来描述表单的验证,并将表单验证的错误信息显示给用户。 (1)定义路由 首先,让我们假定我们在 app/Http/routes.php 文件中拥有下述的路由: // 显示页面 Route::get('post/create'......
关于yii如何使用自带的验证码,可以参考本站文章: yii加载自带验证码的方法 但是以上操作仅仅加上了验证码功能,还有许多问题需要解决,比如你马上就会发现验证码添加好之后,刷新页面后验证码却不会自动刷新,下面就总结一下这个问题的解决方法,具体如下: 从网上搜到的资料基本上提供了三种解决方法。 一、修改源码CCaptchaAction.php的run方法,修改框架源码,不推荐。 二、写一个js,在页面刷新的时候调用js自动点击验......
Yii的源码包里面是自带有验证码的相关类的,因此在使用验证码的时候无需再加载外部验证码类来助阵了。下面本文将介绍一下如何在项目中加载Yii自带的验证码功能。 具体分三步: (1)在需要加载验证码的controllers文件里面添加如下代码: public function actions(){ return array( 'captcha'=> array( 'class'=>'Captcha', 'width'=>65, //默认120 'height'=>25, //默认50 'padding'=>0, //文字周边......
yii常见字段验证示例总结。 <?php class ContactForm extends CFormModel{ public $id; public $contact;//联系人 public $tel;//电话 public $fax;//传真 public $zipcode;//邮编 public $addr;//地址 public $mobile;//手机 public $email;//邮箱 public $website;//网址 public $qq;//QQ public $msn;//MSN public $add_time;//添加时间 public function ru......
将 Yii 中比较常用的rules验证规则记录一下,回头认真研究一下。 return array( //必须填写 array('email, username, password,agree,verifyPassword,verifyCode', 'required'), //检查用户名是否重复 array('email','unique','message'=>'用户名已占用'), //用户输入最大的字符限制 array('email, username', 'length', 'max'=>64), //限制用户最小长度和最大长度 array(......
php验证日期的有效性有内置函数,即checkdate函数,下面分享一下checkdate函数的定义和用法。 checkdate 定义和用法 checkdate() 函数验证一个格里高里日期。如果指定的值合法,则该函数返回 true,否则返回 false。 日期在下列情况下为合法: month 介于且包括 1 - 12 Day 的值在给定的 month 所应该具有的天数范围之内,闰年已经考虑进去了。 year 介于且包括 1 到 32767 checkdate 语法 checkdate(month,day,year) ......
最近因项目的要求,需要使用汉字验证码,于是研究了一个,在这里贴出代码来和大家分享一下。下面是使用php生成汉字验证码的具体用法和函数代码。 用法如下: <?php create_excode(4);//生成四个汉字的验证码 汉字验证码图片: 具体函数代码如下: <?php /* * $length 验证码汉字个数 */ function create_excode($length){ $randChar=array('浩','比','不','惊','静','看','友','前','花', '开','龙','落','义'......
php程序中验证邮箱,IP地址或url一般大家都会使用正则表达式来处理,其实在php里面有一些内置的专门验证规则。下面用实例说说如何使用php内置filter函数来验证email,ip以及URL。 1、验证邮箱 $email='phpernote@163; $result=filter_var($email,FILTER_VALIDATE_EMAIL); var_dump($result); //输出:bool(false) 2、验证url地址 $url='http://www.phpernote.com/'; $result=filter_var($url,FILTER_VALIDATE_URL)......
网站用户注册的过程中经常会需要验证某些字段是不是由多少位数字和字母组成的,由于对正则不是很熟,这种东西我还是记录下来以备需要的时候拿来用一下吧。 php验证字段必须为6-15位的字母和数字组合 if(!preg_match("/^[a-z\d]{6,15}$/i",$variable)){ echo '密码必须为6-15位的数字和字母的组合'; } js验证字段必须为6-12位的字母和数字组合 var reg=/^[A-Za-z0-9]+$/; if(!reg.test(variable)||variable.length<6||v......
分享两种使用javascript验证日期以及时间是否有效的方法。具体就不多说了,看下面的代码。 //| 日期有效性验证 //| 格式为:YYYY-MM-DD或YYYY/MM/DD function IsValidDate(DateStr){ var sDate=DateStr.replace(/(^\s+|\s+$)/g,'');//去两边空格; if(sDate==''){ return true; } //如果格式满足YYYY-(/)MM-(/)DD或YYYY-(/)M-(/)DD或YYYY-(/)M-(/)D或YYYY-(/)MM-(/)D就替换为'' //数据库中,合法日期可以是:YYY......
经常到各大网站去留言或者发帖的朋友应该知道现在很多网站的留言地方的验证码不是直接显示的。而是在点击验证码输入框之后才会显示出来验证码的。下面作者也总结了一篇关于如何利用js实现点击文本框然后再加载验证码的效果的。 首先我们来说说为什么要这么做吧,据作者看来,这个效果的目的应该不仅仅是为了美观的,更多的应该是进一步防止别有用心之人用机器人发送垃圾留言或者垃圾帖子。因为我们在网站留言的时候设置个验证码的......
自动验证与自动填充是在使用thinkphp时经常用到的功能,但偶尔会碰到到自动验证与自动填充不起作用的情况,本文就thinkphp 自动验证与自动填充无效可能的原因做一些分析并提出相应的解决办法。 (1)create() 方法有问题 ThinkPHP 自动验证与自动填充是在创建数据对象 create() 时实现的,因此自动验证与自动填充无效很大程度上与 create() 有关。 create 方法语法如下: create(mixed data, string type) data 表示接受的数......
对于一个严格的web开发流程来说,任何一个表单提交的动作都必须经过严格的格式验证,不仅需要在客户端进行js验证,在服务器端用程序进行二次验证是必不可少的。下面与大家分享一个php格式的服务器端的表单字段格式验证的一个类。代码很简单原生态,大家可以根据自己的情况进行二次修改。具体的代码如下: <?php /* * author:www.phpernote.com * time:2012-3-31 17:35:42 * function:php表单字段格式验证 */ class verifi......
javascript 验证手机号码和电子邮箱的方法总结,虽然互联网上有很多这种例子,但总是感觉自己写出来才是最好的,下面这两个是自己整理出来的,分享给大家。 //javascript 验证手机号码的正确性 function is_mobile(value){ var pattern=/^1[358][0123456789]\d{8}$/; if(!pattern.test(value)){ return false; } return true; } //javascript 验证电子邮箱的正确性 function is_email(value){ var pattern=/......
直接使用php自带的过滤器方法验证。 /** * 验证是否是邮箱 * @param string $email * @return bool */ function isEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL); } 下面的方法已经失效。 前不久在国外一网站上看到Verify a User’s Email Address Using PHP,本来打算自己翻译过来顺便学习学习。原文意思即用PHP验证邮箱的正确与有效性。 function validate_email($email){ $exp="^[a-z'0-9]......
PHP 验证身份证号是否正确的函数,函数代码如下: function validation_filter_id_card($id_card){ if(strlen($id_card)==18){ return idcard_checksum18($id_card); }elseif((strlen($id_card)==15)){ $id_card=idcard_15to18($id_card); return idcard_checksum18($id_card); }else{ return false; } } // 计算身份证校验码,根据国家标准GB 11643-1999 function idcard_verify_number($idcard_base)......
php 提取身份证号码中的生日日期以及确定是否成年的一个函数。可以同时确定15位和18位的身份证,经本人亲测,非常好用,分享函数代码如下: <?php //用php从身份证中提取生日,包括15位和18位身份证 function getIDCardInfo($IDCard){ $result['error']=0;//0:未知错误,1:身份证格式错误,2:无错误 $result['flag']='';//0标示成年,1标示未成年 $result['tdate']='';//生日,格式如:2012-11-15 if(!eregi("^[1-9......
php生成验证码的函数,实用靠谱。先上下生成的验证码的效果图(这里生成的是全数字的验证码的示例效果): 下面是php生成验证码的源码: <?php session_start(); //session_register('CheckCode'); //PHP4.2以上版本不需要用session_register()注册SESSION变量 $type='gif'; $width= 45; $height= 20; header("Content-type: image/".$type); srand((double)microtime()*1000000); if(isset($_GET['action'])){ ......
发一个真正能运行的通过php生成的动态验证码图片的示例。网上下载的好多都报错的,于是自己综合各方面的见解,终于完成了这么一个效果。下面先发下效果图: 下面是php生成动态验证码需要用到的相关类和函数。 <?php /** *ImageCode 生成包含验证码的GIF图片的函数 *@param $string 字符串 *@param $width 宽度 *@param $height 高度 **/ function ImageCode($string='',$width=75,$height=25){ $authstr=$string?$s......
发一个利用js验证网址是否正确,email格式是否正确,是否为数字及数字的范围,密码或字符长度及是否相等及要求的最小字符串长度,输入是否为空等Javascript常见验证代码合集,用的上的朋友可以拿去了自行添加整理。 关键的JavaScript代码函数: /** * 数据验证框架.增加了对id字段检查出错时,直接在对应后面添加一< span>元素来显示错误信息. * * @author www.phpernote.com * @version 1.0 * @description 2012-05-......
Js 验证手机号码函数(采自丁丁地图),具体代码如下: /*丁丁地图检验手机号码方式*/ function is_mobile(value){ var pattern=/^1[358][0123456789]d{8}$/; if(!pattern.test(value)){ return false; } return true; }