php正则测试demo、动态函数

<?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]+$/",

posted on   andydaopeng  阅读(1023)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示