php 日期正则表达式

 更新时间:2016年11月25日 15:53  点击:1984
本文章提供一款利用正则表达式来验证日期是不是正则的日期格式了,第一个是一款正常的日期验证,安全通过了。第二款日期格式有问题,所以输出日期不合法了。
 代码如下 复制代码
      $date="2003-01-31";
      if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
             echo "$regs[3] / $regs[2] / $regs[1] <p>";
             echo "$regs[0] <p>";
             echo "$regs[1]年 $regs[2]月 $regs[3]日";
      } else {
            echo "不合法的日期格式:$date";
       }

//日期实例二

 代码如下 复制代码
      $date="2020.01-31";
      if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
             echo "$regs[3] / $regs[2] / $regs[1] <p>";
             echo "$regs[0] <p>";
             echo "$regs[1]年 $regs[2]月 $regs[3]日";
      } else {
            echo "不合法的日期格式:$date";
       }


?>

下面是利用正则表达式来判断字符串包含指定字符的php代码,主要用到了ereg函数来征

//实例一

 代码如下 复制代码
    $string="i am abc";
    if (ereg ("www.111cn.net", $string)) echo "'abc' is true <p>";                  
    if (ereg ("^abc", $string)) echo "'^abc' is true <p>";                  
    if (ereg ("abc$", $string)) echo "'abc$' is true";

//实例二

 

 代码如下 复制代码
     $string = "this is a test. that is another test.";
     echo ereg_replace (" is", "  was", $string)."<p>";
     echo ereg_replace (" is", "<b> is</b>", $string)."<p>";
     echo ereg_replace ("test", "<a href=http://www.111cn.net>test</a>", $string);
这是一款非常简单的php mysql用户登录代码,适合初学者,希望本文章对各位同学会带来帮助。
 代码如下 复制代码

error_reporting(0);
$mysql_servername = "localhost"; 
$mysql_username = "root"; 
$mysql_password =""; 
$mysql_database ="peng"; 
mysql_connect($mysql_servername , $mysql_username , $mysql_password);
mysql_select_db($mysql_database); 
$name=$_post['name'];
$passowrd=$_post['password'];

if ($name && $passowrd){
 $sql = "select * from liuyanban where name = '$name' and password='$passowrd'";
 $res = mysql_query($sql);
 $rows=mysql_num_rows($res);
  if($rows){
  header("refresh:0;url=a.htm");
  exit;
 }
 echo "<script language=网页特效>alert('用户名密码错误');history.back();</script>";
}else {
 echo "<script language=javascript>alert('用户名密码不能为空');history.back();</script>";
}

?>

以下login.htm内容

<html>
<body>
<form name="login" action="login.php" method=post>
用户名<input type=text name="name">
<p>密码<input type=password name="password">
<p>
<input name="log" type=submit value="登录">
</form>
</body>
</html> 

//截取字符串
mb_substr($str,star,count,encode);
//获取字符串长度
mb_strlen();
//完整保留在textarea文本中的回车换行
str_replace(chr(10),"<br />",$textarea);


//根据ascii返回相应的字母
echo "ascii为66的字母是:". chr(66)."<br>";

//chop 去除字符串中的连续空格和空白
$str="         he llo wo rd     ";echo "s:";
echo "s:".chop($str)."w";

//explode 按照某个字符分割字符串 返回数组
$str="green,red,yellow,white";
$arr=explode(" ",$str);echo "分割后的数组是:";
print_r($arr);

//implode 将数组按照某个字符拼成字符串
$arr=array("a","b","c","d");
$str=implode('/',$arr);
echo "<br>拼成的字符串是:".$str;

//打印print
print("打印的方法print");
echo "格式化打印printf:<br>";
printf("%f%",2,"d");

//不区分大小写比较字符串
echo "不区分大小写:".strcasecmp("hello word","hello word");
//区分大小写
echo "区分大小写:". strcmp("hello word","hello word");

//查找字符串
echo "查找的结果是:". strchr("hello word","hello");
//字符串长度
echo "str长度:".strlen("hello word");

//将字符串重复几次str_repeat
echo "将字符串重复几次:".str_repeat("ws",3);

//将字符串倒序排列
echo "zifuchuandaoxu:".strrev("zifuchuandaoxu");

//将字符串大写,小写转化
//strtolower();
//strtoupper();
//字符串替换,
echo "替换后的字符串是:". str_replace("b","*","aaaaabbbbbccccc");
//切割字符串
echo "切割后的字符串是:". substr("hello word",2,3);

本文章提供这三款php 截取字符串函数各有各的特点,所有字符串截取函数都支持中文汉字截取,解决了乱码问题,方法二,支持多种编码的截取。

//字符串截取函数一

 代码如下 复制代码

function mystr($str,$str_len) {//剪取一定长度的字符串(字符串,剪取长度)
     if (strlen($str)<=$str_len) {
         return $str;
     }else return mysubstr($str,0,$str_len)."...";
}
function mysubstr($str, $start, $len) {//剪取一定长度的字符串(字符串,剪取长度)
     $tmps教程tr = "";
     $strlen = $start + $len;
     for($i = 0; $i < $strlen; $i++) {
         if(ord(substr($str, $i, 1)) > 0xa0) {
             $tmpstr .= substr($str, $i, 2);
             $i++;
         } else
         $tmpstr .= substr($str, $i, 1);
     }
     return $tmpstr;
}

//字符截取函数二

 代码如下 复制代码

function syssubstr($string,$length,$append = false)
{
if (strlen($string) < = $length )
{
return $string;
}
else
{
$i = 0;
while ($i < $length)
{
$stringtmp = substr($string,$i,1);
if ( ord($stringtmp) >=224 )
{
$stringtmp = substr($string,$i,3);
$i = $i + 3;
}
elseif( ord($stringtmp) >=192 )
{
$stringtmp = substr($string,$i,2);
$i = $i + 2;
}
else
{
$i = $i + 1;
}
$stringlast[] = $stringtmp;
}
$stringlast = implode("",$stringlast);
if($append)
{
$stringlast .= "...";
}
return $stringlast;
}
}

$string = "";
$length = "18";
$append = false;
echo syssubstr($string,$length,$append);


// utf-8:$byte=3 | gb 2312:$byte=2 | big5:$byte=2

 代码如下 复制代码

function bite_str($string, $start, $len, $byte=3)
{
     $str     = "";
     $count   = 1;
     $str_len = strlen($string);
     for ($i=0; $i<$str_len; $i++) {
         if (($count+1-$start)>$len) {
             $str   .= "...";
             break;
         } elseif ((ord(substr($string,$i,1)) <= 128) && ($count < $start)) {
             $count++;
         } elseif ((ord(substr($string,$i,1)) > 128) && ($count < $start)) {
             $count = $count+2;
             $i     = $i+$byte-1;
         } elseif ((ord(substr($string,$i,1)) <= 128) && ($count >= $start)) {
             $str   .= substr($string,$i,1);
             $count++;
         } elseif ((ord(substr($string,$i,1)) > 128) && ($count >= $start)) {
             $str   .= substr($string,$i,$byte);
             $count = $count+2;
             $i     = $i+$byte-1;
         }
     }
     return $str;
}

// test
$str = "1测试测试2测试测试3测试测试4测试测试";
echo $str;
echo "<br>".bite_str($str,0,20,2);//0为开始地址,20为结束地址2为类型上面说到的

//方法四,支持中英文字符串截取函数

 代码如下 复制代码

function ccstrlen($str) #计算中英文混合字符串的长度
{
$cclen=0;
$asclen=strlen($str);
$ind=0;
$hascc=ereg("[xa1-xfe]",$str); #判断是否有汉字
$hasasc=ereg("[x01-xa0]",$str); #判断是否有ascii字符
if($hascc && !$hasasc) #只有汉字的情况
return strlen($str)/2;
if(!$hascc && $hasasc) #只有ascii字符的情况
return strlen($str);
for($ind=0;$ind<$asclen;$ind++)
{
if(ord(substr($str,$ind,1))>0xa0)
{
$cclen++;
$ind++;
}
else
{
$cclen++;
}
}
return $cclen;
}

[!--infotagslink--]

相关文章

  • PHP正则表达式取双引号内的内容

    取双引号内的内容我们如果一个字符串中只有一个可以使用explode来获得,但如果有多个需要使用正则表达式来提取了,具体的例子如下。 写程序的时候总结一点经验,如何只...2016-11-25
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • 一个关于JS正则匹配的踩坑记录

    这篇文章主要给大家介绍了一个关于JS正则匹配的踩坑记录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-04-13
  • php 验证只能输入汉字、英语、数字的正则表达式

    正则表达式是一门非常有用的并且进行模糊判断的一个功能了,我们下面来看通过正则来验证输入汉字、英语、数字,具体如下。 收藏了正则表达式。可以验证只能输入数...2016-11-25
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下...2021-05-07
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
  • PHP正则表达式匹配验证提取网址URL实例总结

    网址规则是可寻的,所以我们可以使用正则表达式来提取字符串中的url地址了,下面一起来看看小编整理的几个PHP正则表达式匹配验证提取网址URL实例. 匹配网址 URL 的...2016-11-25
  • 正则表达式中两个反斜杠的匹配规则详解

    这篇文章主要介绍了正则表达式中两个反斜杠的匹配规则,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • JS中使用正则表达式g模式和非g模式的区别

    这篇文章给大家详细介绍了JS中使用正则表达式g模式和非g模式的区别,非常不错,具有参考借鉴价值,需要的朋友参考下吧...2017-04-03
  • C#正则表达式使用方法示例

    这篇文章主要介绍了C#正则表达式使用方法,大家参考使用...2020-06-25
  • 常用C#正则表达式汇总介绍

    c#正则表达式,用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。...2020-06-25
  • JavaScript利用正则表达式替换字符串中的内容

    本文主要介绍了JavaScript利用正则表达式替换字符串中内容的具体实现方法,并做了简要注释,便于理解。具有一定的参考价值,需要的朋友可以看下...2017-01-09
  • 一文秒懂python正则表达式常用函数

    这篇文章主要介绍了python正则表达式常用函数及使用方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-05-07
  • Idea使用正则表达式批量替换字符串的方法

    这篇文章给大家介绍了Idea使用正则表达式批量替换字符串的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2021-07-21
  • PHP正则表达式之捕获组与非捕获组

    今天遇到一个正则匹配的问题,忽然翻到有捕获组的概念,手册上也是一略而过,百度时无意翻到C#和Java中有对正则捕获组的特殊用法,搜索关键词有PHP时竟然没有相关内容,自己试了一下,发现在PHP中也是可行的,于是总结一下,分享的同...2015-11-08
  • js正则学习小记之匹配字符串字面量

    关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配,因为我想学完之后写个语法高亮练手,所以用js代码当作例子...2021-05-07
  • C# 中使用正则表达式匹配字符的含义

    正则表达式的作用用来描述字符串的特征。本文重点给大家介绍C# 中使用正则表达式匹配字符的含义,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧...2020-06-25
  • Python验证的50个常见正则表达式

    这篇文章主要给大家介绍了关于利用Python验证的50个常见正则表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-11
  • C#编程自学之运算符和表达式

    这篇文章主要介绍了C#运算符和表达式,这是自学C#编程的第五篇,希望对大家的学习有所帮助。...2020-06-25
  • PHP正则表达式过滤html标签属性(DEMO)

    这篇文章主要介绍了PHP正则表达式过滤html标签属性的相关内容,实用性非常,感兴趣的朋友参考下吧...2016-05-06