正则表达式速成

废话:最近做的一个APP,大幅篇的表单填写、表单校验真的让人很恶心,其中某个模块有100多个字段,最多的一个模块300个字段。。。。。。已吐血。。。。。
表单校验刚开始也只是百度,结果后期测试的时候发现好多问题,遂,求人不如求己,自己动手写吧。

先举几个例子看看:

说明: ^: 开始标识; $: 结束标识;

0 - 10的正整数:

^([0-9]|10)$ 或者 ^(\d|10)$
[0-9]: 0-9的任意数,等同于\d;

0-100的正整数:

^(\d|[1-9]\d|100)$
中间用"|"连接,以上分别表示 0-9|10-99|100 \d: 0-9; [1-9]\d: 十位数1-9,个位数0-9; 100: 100。

0-200的正整数:

^(\d|[1-9]\d|1[0-9]{2}|200)$
中间用"|"连接,以上分别表示 0-9|10-99|100-199|200 1[0-9]{2}: 百位数是1,十位数0-9,个位数0-9。

0-34的正整数:

^(\d|[1-2]\d|3[0-4])$
0-9|10-29|30-34

0-250的正整数:

^(\d|[1-9]\d|1[0-9]{2}|2[0-4]\d||250)$
0-9|10-99|100-199|200-249|250

0-999的正整数:

^(\d|[1-9]\d{1,2})$

那么有小数的呢?
0-10的一位小数:

^((\d)(\.\d{0,1})?|10)$
\. :小数点; \d{0,1}: 0-9的一位数; ?:取前面的任意长度。

0-20的两位小数,包括20、20.0、20.00:

((\d)(\.\d{0,2})?|10|10\.[0]{0,2})$
10\\.[0]{0,2}: 10.0 或者 10.00

30-45的一位小数:

^(3\d{0,1}|4[0-4]{0,1})(\.\d{0,1})?$ | ^45 ∣ 4 5 . [ 0 ] 0 , 1 |^45\\.[0]{0,1} 45.[0]0,1
\.[0-9]{0,1}: 一位小数 \.\d{0,2} : 二位小数

我用到的所有校验:

0-34: ^(\d|[1-2]\d|3[0-4])$

0-99: ^(\d|[1-9]\d)$

0-100: ^(\d|[1-9]\d|100)$

0-200: ^(\d|[1-9]\d|1[0-9]{2}|200)$

0-250: ^(\d|[1-9]\d|1[0-9]{2}|2[0-4]\d||250)$

0-999: ^(\d|[1-9]\d{1,2})$

0-9999: ^(\d|[1-9]\d{1,3})$

1-15: ^(1[0-5]{1}|[1-9]{1})$

0.0-6.0: ^(([0-5]{0,1})(\.\d{0,1})?|6|6\.[0]{0,1})$

0.0-19.9: ^(\d|1\d)(\.\d{0,1})?$

0-99.9: ^(\d|[1-9]\d)(\.\d{0,1})?$

0-100.0: (\d|[1-9]\d)(\.\d{0,1})?$|^100$|100\.[0]{0,1}$

0-170.0: (\d|[1-9]\d|1[0-6]\d)(\.\d{0,1})?$|^170$|170\.[0]{0,1}$

0-300.0: (\d|[1-9]\d|[1-2][0-9]{2})(\.\d{0,1})?$|^300$|300\.[0]{0,1}$

30.0-45.0: (3\d{0,1}|4[0-4]{0,1})(\.\d{0,1})?$|^45$|45\.[0]{0,1}$

0-10.00: ((\d)(\.\d{0,2})?|10|10\.[0]{0,2})$

0-99.99: ^(\d|[1-9]\d)(\.\d{0,2})?$

0-100.00: (\d|[1-9]\d)(\.\d{0,2})?$|^100$|100\.[0]{0,2}$

0-999.9: ^(\d|[1-9]\d{1,2})(\.\d{0,1})?$

0-999.99: ^(\d|[1-9]\d{1,2})(\.\d{0,2})?$

0-9999.9: ^(\d|[1-9]\d{1,3})(\.\d{0,1})?$

0-9999.99: ^(\d|[1-9]\d{1,3})(\.\d{0,2})?$

就写这么多吧,有啥问题可留言给我,另外本人也是刚学着写,大神请勿喷。 好久不写博客了,发现都不会组织语言了,吐血。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值