gpt4 book ai didi

php preg_match 日期格式 "yyyy-MM"

转载 作者:可可西里 更新时间:2023-11-01 13:35:24 25 4
gpt4 key购买 nike

我正在尝试使用来自 preg_match: check birthday format (dd/mm/yyyy) 的修改后的 preg 格式匹配信用卡到期日期(yyyy-MM 格式)

    if (!preg_match('/([0-9]{4})\-([0-9]{2})/', $expirationDate, $matches)) {
throw new Services_Payment_Exception('Card expiration date is invalid');
}

出于某种原因,它还会验证无效值,例如 20111-02(无效年份)。我在这里做错了什么?我想确认年份是4位,月份是2位(01, 02.. 12)

最佳答案

锚定你的正则表达式:

preg_match('/^([0-9]{4})-([0-9]{2})$/', $expirationDate, $matches)

您的正则表达式没有达到您的预期,因为它匹配“20111-02”的“0111-02”子字符串。

Anchors ^$ 匹配输入字符串中的特定位置:^ 匹配字符串的开头,$ 匹配字符串的开头结束。

另请注意,无需转义连字符,因为它仅在 [] 中具有特殊功能。

关于php preg_match 日期格式 "yyyy-MM",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com