正则表达式波斯语日期验证

问题描述 投票:0回答:8

我想要一个正则表达式来验证波斯日期,例如

1396/4/3
1396/12/08
或其他东西。
换句话说,我想确保波斯日期的格式(如
String
)类似于这些有效格式:

1.

YYYY/MM/DD

2.

YYYY/MM/D

3.

YYYY/M/DD

4.

YYYY/M/D


有什么解决办法吗?

regex string validation date nsregularexpression
8个回答
20
投票

使用这个正则表达式

/^[1-4]\d{3}\/((0[1-6]\/((3[0-1])|([1-2][0-9])|(0[1-9])))|((1[0-2]|(0[7-9]))\/(30|([1-2][0-9])|(0[1-9]))))$/

jquery 中的这个正则表达式全面检查您的波斯语日期模板

年份:以 1300 或 1400 开头的 4 位数字

月、日:一年中的前 6 个月计算 31 天,一年中接下来的 5 个月计算 30 天,一年的最后一个月计算 29 天


3
投票

这有点长,但它在任何地方都适用(例如在

grep -E
中的 bash):

^[1][1-4][0-9]{2}\/((0[1-6]\/(0[1-9]|[1-2][0-9]|3[0-1]))|(0[7-9]\/(0[1-9]|[1-2][0-9]|30))|(1[0-1]\/(0[1-9]|[1-2][0-9]|30))|(12\/(0[1-9]|[1-2][0-9])))

格式为:YYYY/MM/DD

从1100年到1499年

并且 Esfand 在这个表达式中是 29 天。


2
投票

使用这个正则表达式

^(\\d{4})/(0?[1-9]|1[012])/(0?[1-9]|[12][0-9]|3[01])$

使用这个正则表达式:

  • 年份是 4 位数字。
  • 月份小于等于 12
  • 小于等于 31

1
投票

我建议使用这个:

^1[34][0-9][0-9]\/(0?[1-9]|1[012])\/(0?[1-9]|[12][0-9]|3[01])$

支持:

年份:1300-1499

月份: 1-12 和 01-12

日: 1-31 和 01-31


0
投票

我编辑@MortezaAsadi对此的回答:

^(\d{4})\/(0?[1-9]|1[012])\/(0?[1-9]|[12][0-9]|3[01])$

0
投票

我用这个
^(1[3-4][0-9][0-9])//$

包括 1300/01/01 .. 1499/12/31

这些也会给出错误

1200/01/01 .. 1400/13/01 .. 1400/12/32


0
投票

1[3-4]\d\d\/(1[0-2]|[1-9]|0[1-9])\/(0[1-9]|[1-2][0-9]|3[0-1]|[1-9])($)

年份:1300-1499

月份:1-12 或 01-12

日:1-31 或 01-31


0
投票

这是一个用于验证 Jalaali 日期的简单正则表达式。

年份以 13 或 14 开始。

^1[3-4]\d{2}((0[1-9])|(1[0-2]))(([0-2][0-9])|(3[0-1]))$
© www.soinside.com 2019 - 2024. All rights reserved.