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

时间:2017-08-21 05:54:04

标签: regex string validation date nsregularexpression

我希望正则表达式用于验证波斯日期,例如1396/4/31396/12/08或其他内容。
换句话说,我想确保波斯日期的格式(如String)有些像这些有效的格式:

1。YYYY/MM/DD

2。YYYY/MM/D

3。YYYY/M/DD

4。YYYY/M/D

任何解决方案?

5 个答案:

答案 0 :(得分:4)

使用此正则表达式

  

/^[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中全面检查你的波斯日期模板

年度:4位数字以1300或1400

开头

月,日:对于一年中的前6个月计算31天,对于一年中的5个下一个月计算30天和一年的最后一个月计算29天

答案 1 :(得分:1)

使用正则表达式

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

这个正则表达式:

  • 是4位数。
  • 小于等于12
  • 小于等于31

答案 2 :(得分:1)

这有点长,但是它可以在任何地方使用(例如,在 bash 中的grep -E中):

^[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天。

答案 3 :(得分:0)

我编辑@MortezaAsadi的答案:

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

答案 4 :(得分:0)

我推荐使用这个:

^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