<?php
 error_reporting (E_ALL);
 ini_set ('display_errors', 'on');
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div>
 <form>
  正则表达式 :
  <input type="text" name="regexPattern" size="50" value="<?php echo @stripslashes($_GET['regexPattern']);?>"> <br/>
  测试字符串 :
  <input type="text" name="regexStr" size="50" value="<?php echo @$_GET['regexStr'];?>"> <br/>

<input type="hidden" name="funcName" value="testRegex"/> <br/>
    
  <input type="reset" value="重置内容" style="margin:0 30 0 30;"/>
  <input type="submit" value="执行方法"/>
 </form>
</div>
<?php
if(!empty($_GET['funcName']) && !empty($_GET['regexPattern']) && !empty($_GET['regexStr'])){
 $funcName = trim($_GET['funcName']);
 $param1   = stripslashes(trim($_GET['regexPattern']));
 $param2   = stripslashes(trim($_GET['regexStr']));
 $funcName($param1, $param2);
}
die;

function testRegex($pattern, $subject){
 if(preg_match($pattern, $subject, $matches)){
  var_dump($matches);
 }else{
  echo "preg_match({$pattern}, {$subject}) 未匹配到"."\n";
 }

echo "<hr/>";

if(preg_match_all($pattern, $subject, $matches)){
  var_dump($matches);
 }else{
  echo "preg_match_all({$pattern}, {$subject}) 未匹配到"."\n";
 }
}

各种正则模式:

'email' => "/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/",
'telAndPhone' => "/(^([0-9]{3})?-?[0-9]{8}$)|(^([0-9]{4})?-?[0-9]{7}$)|(^1[0-9]{10}$)/",
'alphabet' => "/^[a-zA-Z]+$/",

php正则测试demo、动态函数的更多相关文章

  1. <正则吃饺子> :关于redis集群的测试demo

    redis集群的测试demo,来自网络,具体不详. 1.下载地址,如下:http://download.csdn.net/detail/u012543819/9729291 2.项目是java项目,结 ...

  2. JavaScript之 ------ 函数(一般函数、动态函数、匿名函数)

    JavaScript之 ------ 函数(一般函数.动态函数.匿名函数) 函数 一.一般函数 1.格式: function 函数名(形式参数...) { 执行语句: return 返回值: } 函数 ...

  3. 静态/动态函数库设计,王明学learn

    静态/动态函数库设计 Linux应用程序设计中需要的外部函数主要由函数库和系统调用来提供. 两者区别: 一.函数库分类 函数库按照链接方式可分为: 1.静态链接库 对函数库的链接是放在编译时期(com ...

  4. online ddl 使用、测试及关键函数栈

    [MySQL 5.6] MySQL 5.6 online ddl 使用.测试及关键函数栈  http://mysqllover.com/?p=547 本文主要分为三个部分,第一部分是看文档时的笔记:第 ...

  5. android gps开发必备资料(含测试demo下载)

    入门资料参考: How accurate is Android GPS? Part 1: Understanding Location Data How accurate is Android GPS ...

  6. python动态函数名的研究

    所谓动态函数名,就是使用时完全不知道是叫什么名字,可以由用户输入那种. 一般人习惯性会想到eval或exec, 但是众所周知,这样的写法不安全而且容易引起问题,而且不pythonic.而且使用时必须把 ...

  7. 所有文章的测试Demo

    Mqtt C++ Client 测试Demo https://pan.baidu.com/s/1Ue00GYv2SUd8aTquhvOW1w

  8. 静态库与动态库的制作以及程序的动态函数库解析ldd;ldconfig与/etc/ld.so.conf

    静态库的制作步骤: (1)gcc -c mylib.c -o mylib.o (2)ar rc libmylib.a mylib.o 动态库的制作步骤: gcc -shared mylib.c -o ...

  9. PHP代码审计3-SQL注入,CSRF,动态函数执行与匿名函数执行,unserialize 反序列化漏洞,变量覆盖,文件管理,文件上传

    SQL注入 审计语句 [输入参数] SELECT,DELETE,UPDATE,INSERT 防御 转义: 1.开启gpc:判断解析用户提示的数据 2.mysql_real_escape_string( ...

随机推荐

  1. Asp.net MVC 4 异步方法

    今天我们来看一下,同样功能在 Asp.net MVC 4 下的实现,基于.net framework 4.5 下的async支持,让我们的代码更加简单,看下面片断代码名叫Index的Action方法: ...

  2. android中GridView关于间距的属性值介绍

    android:columnWidth  设置列的宽度.关联的方法为:setColumnWidth(int)  stretchMode属性值的作用是设置GridView中的条目以什么缩放模式去填充空间 ...

  3. Live555研究之二Sleep实现

    Live555通过一个while循环来不断读取socket,判断是否有连接进来,但是Live555并没有使用Sleep函数来让线程休眠多少毫秒来降低CPU占用率.Live555是通过select函数来 ...

  4. iOS 之NSJSONReadingOptions说明【转】

    首先用代码来说明NSJSONReadingMutableContainers的作用: NSString *str = @"{\"name\":\"kaixuan ...

  5. Inf2Cat, signability test failed.

    驱动开发真不是那么好玩的,折腾了几天,排除了几个错误,又有新的错误了. 错误    1    error -2: "Inf2Cat, signability test failed.&quo ...

  6. Mongodb操作总结

    1.Mongovue里面可以直接group by ,这个时候一定要注意,group by的任何条件的是 json, 注意当值是Int,非string型的时候,值不要加上双引号 2.注意group by ...

  7. bzoj 2244 [SDOI2011]拦截导弹(DP+CDQ分治+BIT)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2244 [题意] 给定n个二元组,求出最长不上升子序列和各颗导弹被拦截的概率. [思路] ...

  8. 深入浅出 JavaScript 对象 v0.5

    JavaScript 没有类的概念,因此它的对象与基于类的语言中的对象有所不同.笔者主要参考<JS 高级程序设计>.<JS 权威指南>和<JS 精粹> 本文由浅入深 ...

  9. js学习记录

    1.js语法 2.数据类型(基本类型与对象类型.类型的转换) 2.1 数字 2.2 文本 2.3 布尔值 2.4 null和undefined 2.5 对象 2.6 类型检测 3.操作符和表达式 4. ...

  10. 关于SQL语言,查询关联多张表出现的,无法返回空值的问题。

    用外连接: SELECT * from PERempms left outer join PERPROMSon PERPROMS.BRANCH =PERempms.BRANCH left outer ...