相关疑难解决方法(0)

PHP DD/MM/YYYY验证

抱歉可能是一个简单的问题,但我是PHP和Javascript的新手.

我在PHP中创建一个登录验证,要求注册用户以DD/MM/YYYY格式输入他们的出生日期,如果以任何其他格式输入日期,则返回错误消息.我不确定如何做到这一点,除了使用preg_match,但这似乎不起作用......

变量:

$DOB = $_POST['DOB'];
$error_message = '';
Run Code Online (Sandbox Code Playgroud)

日期验证段

elseif (!preg_match("/^(0?[1-9]|[12][0-9]|3[01])\/\.- \/\.- \d{2}$/", $DOB))
{
  $error_message = 'Invalid Date';
}
Run Code Online (Sandbox Code Playgroud)

错误显示

  if ($error_message != '')
  {
    echo 'Error: '.$error_message.' <a href="javascript: history.back();">Go Back</a>.';
    echo '</body> </html>';
    exit;
  }
  else
  {
   echo'<p><strong>Form Submitted Successfully!</strong></p>';
  }
Run Code Online (Sandbox Code Playgroud)

这不是重复,我尝试了其他线程,他们的解决方案都没有.

php validation date

3
推荐指数
2
解决办法
4873
查看次数

使用preg_match验证时间格式

我想验证时间输入(如上午10:30,下午02:30)使用 preg_match()

我用这个,

 $pattern   =   "/([1-12]):([0-5])([0-9])( )(am|pm|AM|PM)/";
 if(preg_match($pattern,$time)){
   return true;
 }
Run Code Online (Sandbox Code Playgroud)

但是当我提供类似的输入时10:30 pmxxxx,它将无法验证.我不知道方法是否正确.请帮忙.

php regex preg-match

1
推荐指数
1
解决办法
7637
查看次数

PHP检查用户输入日期

因此,用户可以通过键入或使用日期选择器输入出生日期.这可能会出错,所以在服务器端我想检查它是否是一个有效的日期.

我在strtotime()上阅读了很多,看了很多例子,但不是100%正确的例子.

这就是我所拥有的:

$geboortedatum = $_POST['geboortedatum'];
$geboortedatum = date("Y-m-d", strtotime($geboortedatum));
list($y, $m, $d) = explode("-", $geboortedatum);

// var_dump(checkdate($d,$m,$y));
if(checkdate($d, $m, $y)) {
    echo "OK Date";
}
else {
    echo "BAD Date";
    exit();
}
Run Code Online (Sandbox Code Playgroud)

这大部分时间都有效.有没有可靠的方法来检查输入是否是真实且正确的日期?

//编辑

那不是一个好例子!当用户输入31-31-1980时,它也不起作用.这也是有效的,虽然不应该!

php validation date

1
推荐指数
1
解决办法
1万
查看次数

PHP preg_match yyyy-mm-dd


我需要一些正则表达式的帮助.我正在尝试验证字符串是否看起来像'yyyy-mm-dd',这是我的代码到目前为止:

case "date":
                if (preg_match("/^[0-9\-]/i",$value)){
                    $date = explode("-",$value);
                    $year = $date[0];
                    $month = $date[1];
                    $day = $date[2];
                    if (!checkdate($month,$day,$year))
                    {
                        $this->errors[] = "Ogiltigt datum.";
                    }
                } else {
                    $this->errors[] = "Ogiltigt datum angivet.";
                }
            break;
Run Code Online (Sandbox Code Playgroud)

我对正则表达式很新,谢谢.

php regex

1
推荐指数
1
解决办法
5772
查看次数

如何将标准正则表达式转换为php正则表达式?

在网上搜索验证时间为"HH:MM:SS"后,我发现: HH:MM:SS时间字符串的正则表达式.但当我把它放在我的PHP代码中时,我收到一个错误:

preg_match("^(?:(?:([01]?\d|2[0-3]):)?([0-5]?\d):)?([0-5]?\d)$", "12:33:51", $matches);
Run Code Online (Sandbox Code Playgroud)

这是我的错误信息

警告:preg_match():在第128行的db-dataitem.php中找不到结束分隔符'^'

我怎么能改变模式字符串,以便它可以用于PHP?

php regex

0
推荐指数
1
解决办法
185
查看次数

标签 统计

php ×5

regex ×3

date ×2

validation ×2

preg-match ×1