javascript正则表达式验证范围内的年份 [英] javascript regex validate years in range

查看:1373
本文介绍了javascript正则表达式验证范围内的年份的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一年的输入字段,我需要一个正则表达式来验证它。
我有这样的代码: ^([12] \d)?(\\\)$
但是我想允许仅在一定范围内验证年份(例如1990-2010)。我该怎么办?

I have input field for year and I need a regex for validation it. I have such code: ^([12]\d)?(\d\d)$. But I want allow to validate only years in certain range (1990-2010, for example). How can I do it?

编辑。范围必须是1950-2050

Edit. range must be 1950-2050

推荐答案

试试这个:

1990 - 2010年:

1990 - 2010:

/^(199\d|200\d|2010)$/

1950 - 2050:

1950 - 2050:

/^(19[5-9]\d|20[0-4]\d|2050)$/

其他例子:

1945 - 2013年:

1945 - 2013:

/^(194[5-9]|19[5-9]\d|200\d|201[0-3])$/

1812 - 3048:

1812 - 3048:

/^(181[2-9]|18[2-9]\d|19\d\d|2\d{3}|30[0-3]\d|304[0-8])$/

基本上,您需要将范围拆分为简单的可复制块:

Basically, you need to split your range into easy "regexable" chunks:

1812-3048: 1812-1819 + 1820-1899 + 1900-1999 + 2000-2999 + 3000-3039 + 3040-3048
    regex: 181[2-9]    18[2-9]\d   19\d\d      2\d{3}      30[0-3]\d   304[0-8]

这篇关于javascript正则表达式验证范围内的年份的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆