周六干点儿啥

  hi

又到周六,结果这周没有电影去看,没有衣服去买,没有妹子...当我没说

1、正则表达式-完结篇

---工具类开发---

<?php
/*
* PHP 正则表达式工具类
* 描述:进行正则表达式匹配,有常用的正则表达式以及允许用户自定义正则表达式进行匹配
*/

class regexTool{
//定义常用正则表达式,并用数组对的方式存储
private $validate=array(
‘require‘ => ‘/.+/‘,
‘email‘ => ‘/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/‘,
‘url‘ => ‘/^http(s?):\/\/(?:[A-za-z0-9-]+\.)+[A-za-z]{2,4}(?:[\/\?#][\/=\?%\-&~`@[\]\‘:+!\.#\w]*)?$/‘,
‘currency‘ => ‘/^\d+(\.\d+)?$/‘,
‘number‘ => ‘/^\d+$/‘,
‘zip‘ => ‘/^\d{6}$/‘,
‘integer‘ => ‘/^[-\+]?\d+$/‘,
‘double‘ => ‘/^[-\+]?\d+(\.\d+)?$/‘,
‘english‘ => ‘/^[A-Za-z]+$/‘,
‘qq‘ => ‘/^\d{5,11}$/‘,
‘mobile‘ => ‘/^1(3|4|5|7|8)\d{9}$/‘,
);
//定义其他属性
private $returnMatchResult=false; //返回类型判断
private $fixMode=null; //修正模式
private $matches=array(); //存放匹配结果
private $isMatch=false;

//构造函数,实例化后传入默认的两个参数
public function __construct($returnMatchResult=false,$fixMode=null){
$this->returnMatchResult=$returnMatchResult;
$this->fixMode=$fixMode;
}

//判断返回结果类型,为匹配结果matches还是匹配成功与否isMatch,并调用返回方法
private function regex($pattern,$subject){
if(array_key_exists(strtolower($pattern), $this->validate))
$pattern=$this->validate[$pattern].$this->fixMode; //判断后再连接上修正模式作为匹配的正则表达式
$this->returnMatchResult ?
preg_match_all($pattern, $subject,$this->matches):
$this->isMatch=preg_match($pattern, $subject)===1;
return $this->getRegexResult();
}

//返回方法
private function getRegexResult(){
if($this->returnMatchResult){
return $this->matches;
}else{
return $this->isMatch;
}
}

//允许用户自定义切换返回类型
public function toggleReturnType($bool=null){
if(empty($bool)){
$this->returnMatchResult=!$this->returnMatchResult;
}else{
$this->returnMatchResult=is_bool($bool) ? $bool : (bool)$bool;
}
}

//下面则是数据验证方法
public function setFixMode($fixMode) {
$this->fixMode = $fixMode;
}

public function noEmpty($str) {
return $this->regex(‘require‘, $str);
}

public function isEmail($email) {
return $this->regex(‘email‘, $email);
}

public function isMobile($mobile) {
return $this->regex(‘mobile‘, $mobile);
}

public function check($pattern, $subject) {
return $this->regex($pattern, $subject);
}
}

实例化进行验证

<?php
/*
* PHP 正则表达式验证文件
*/
//包含类定义文件
require_once ‘regexTool.class.php‘;

$regex=new regexTool();
$regex->setFixMode(‘U‘); //设定修正模式为懒惰模式U
$r=$regex->isEmail(‘[email protected]‘);
show($r);

//使用之前学过的show函数来进行验证
/*
* Description:PHP 正则表达式函数
*
* @name:show
* @description:output debug
* @param $var:input data
* @return void
*
*/

function show($var=null){
if(empty($var)){
echo ‘null‘;
}elseif(is_array($var)||is_object($var)){
//array,object
echo ‘<pre>‘;
print_r($var);
echo ‘</pre>‘;
}else{
//string,int,float...
echo $var;
}
}

时间: 2024-10-13 09:10:35

周六干点儿啥的相关文章

XSI进程间通信-----消息队列

1. 基本特点 1) 消息队列是一个由系统内核负责存储和管理,并通过消息队列标识引用的数据链表,消息队列 和有名管道fifo的区别在: 后者一次只能放一个包,而前者则可以放很多包,这样就能处理发包快,哪包慢的问题 2) 可以通过msgget函数创建一个新的消息队列, 或获取一个已有的消息队列. 通过msgsnd函数 (send)向消息队列的后端追加消息, 通过msgrcv(receive)函数从消息队列的前端提取消息. 3) 消息队列中的每个消息单元除包含消息数据外,还包含消息类型和数据长度.消

1076. Trash(KM算法 二分最佳完美匹配)

1076. Trash Time limit: 1.0 second Memory limit: 64 MB You were just hired as CEO of the local junkyard.One of your jobs is dealing with the incoming trash and sorting it for recycling.The trash comes every day in N containers and each of these conta

努力和拼尽全力之间,到底差了什么

你是不是觉得自己已经足够努力了? 如果你的答案是:是的,我已经很努力了.Oh no,说明你还不够努力. 我想每个人看完游戏大神Sky的故事,应该就再也没有脸说自己努力了. Sky可以完爆我们在生活领域中所认识的一切以努力著称的人. 你愿意为你所热爱的事情付出多少东西?Sky从他初二迷上<星际争霸>开始,就在不断地探索自己所能付出的上限. 自从玩儿过<星际>之后,这款游戏就成了他的地心引力.他早退,他翘课,他上网,他知道自己是好男孩儿--Oh no,我写错了,他知道自己是好玩家.他连

要写封闭式的用户故事

在我们编写用户故事或者拆分用户故事的时候,写封闭式的用户故事至关重要.一个封闭式的用户故事意味着这个故事完成后,用户可以达成一个明确的.有意义的目标.我喜欢打这样的一个比方,完成了一个用户故事,用户就可以停下来休息一会儿,喝杯咖啡了. 下面给一个不是封闭式的用户故事的示例:以一个在线求职网站为例:“作为一个招聘人员,我可以管理我发布的工作.” 这个故事太大了,以至于没有太多意义.“管理”这个活动很难被完成.比如,你们公司有一个经理,他肯定不会说,“OK,我的管理完成了,是时候干点儿实事儿了”.

学历是铜牌,能力是银牌,人脉是金牌,思维是王牌

正如"打工皇帝"唐骏说:"我觉得有两种人不要跟别人争利益和价值回报.第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学到什么,对发展是不是有利--" 人总是从平坦中获得的教益少,从磨难中获得的教益多:从平坦中获得的教益浅,从磨难中获得的教益深.一个人在年轻时经历磨难,如能正确视之,冲出黑暗,那就是一个值得敬慕的人.最要紧的是先练好内功,毕业后这5年就是练内功的最佳时期,练好内功,才有可能在未来攀得更高. 出路在哪里?出路在

GCD 和延时调用

GCD 和延时调用 由 王巍 (@ONEVCAT) 发布于 2015/05/13 因为 Playground 不进行特别配置的话是无法在线程中进行调度的,因此本节中的示例代码需要在 Xcode 项目环境中运行.在 Playground 中可能无法得到正确的结果. GCD 是一种非常方便的使用多线程的方式.通过使用 GCD,我们可以在确保尽量简单的语法的前提下进行灵活的多线程编程.在 “复杂必死” 的多线程编程中,保持简单就是避免错误的金科玉律.好消息是在 Swift 中是可以无缝使用 GCD 的

毕业生-告诫自己每天看一遍,你将获益终生。

大家千万不要错过这篇文章,毕业三年多了,能看到这篇文章也是一种幸运,真的受益匪浅,对我有很大启迪,这篇文章将会改变我的一生,真的太好了,希望与有缘人分享,也希望对有缘人有所帮助!看完之后有种"相见恨晚"的感觉,特别激动,希望大家好好的珍藏这篇文章,相信多年以后,再来看这篇文章,一定有不同的感觉. 正如"打工皇帝"唐骏说:"我觉得有两种人不要跟别人争利益和价值回报.第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能在企业里学

男人 就该将自己活成IPV4绝非IPV6(二)

呵呵,那种无知刚刚可能是一切的雏形,梦想着自己要是可以黑掉政府网站,给那些不搭理自己的人一个警钟,上面写着我是某某,你们一天可以干点儿对社会有意义的事情吗? 亦或是你们可以微服私访下,这个社会上那些不为人知的事情... 我是足够天真的,更是足够具有爱国主义精神的,然不知,泥菩萨,时隔许久,你依然只是听见房子外面的雷雨声,难道这是在对屈原先生说,汗:你可真好,一句离骚便可以道尽世间凡事.而我只能听着窗外的雷雨声,对自己说:"都云作者痴,鬼解其中味?" 人们都很忙,在这个世界上不断的找自己

任正非说华为是小草,要是小草被踩死了,华为人只有哭的份

当地时间1月22日达沃斯论坛上,华为创始人.总裁任正非 首次公开演讲,接受与BBC主播的对话. 看了一下,觉得任正非虽为华为总裁,但是总觉得说法不靠谱. 他说: 我认为美国在电子信息技术上,过去是绝对的强势,而且未来几十年,美国还会是相对的优势,华为这个小草不可能改变时代列车的轨道,但是我们小草在努力成长,当然我们也希望把自己脱胎换骨,从草变成小树苗. 虽然理解为谦虚,但是说华为这个小草不可能改变时代列车的轨道,就不靠谱,因为华为已经是通信巨头,年营业额560亿美元.我觉得他说这话像是10几年前