首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

正则表达式 婚配 数字 范围

2012-11-05 
正则表达式 匹配 数字 范围今天要写一个正则表达式,来做前端校验。主要部分是 用来匹配1~4095的数字。?现在

正则表达式 匹配 数字 范围

今天要写一个正则表达式,来做前端校验。主要部分是 用来匹配1~4095的数字。

?

现在就以这个为例,说一下表示范围的正则怎么写。

?

1、只有1~3位数字,即数字范围:1~999。

?

分析:第1个数字是1~9,后面的可以出现0~9的数字,最多2位。于是,就有了下面的字符串:

?

"[1-9]\\d{0,2}+"

?

2、4位数的,要小于等于4095,即数字范围:1000~4095。

?

分析:第1位,可以是1~4;第2位,依赖第1位,当第1位是4的时候,第2位只能是0;同理,第3位依赖第2位;第4位依赖第3位。所以,就有了以下代码:

?

"[1-4]\\d(?<!4[1-9])\\d\\d(?<!409[6-9])"

?

这里用的是非捕获(?<!X)X,通过零宽度的负 lookbehind 来实现的。

?

完整代码如下:

?

?

?

?

测试结果:

?

?

4094 true4095 true4096 false5000 false4000 true900 true10 true9 true0 false1 true-1 falsea false@ false
?

?

?

热点排行