美文网首页
前端充值数目正则表示

前端充值数目正则表示

作者: 康乐芳华 | 来源:发表于2019-05-17 13:57 被阅读0次

不得不说 正则表达式可视化 是真的不错, 研究正则的时候, 这个网站是很好的帮手。

现在前端页面有一个金额输入框, 需要对输入的金额进行校验。如果校验不通过, 禁用提交的按钮。
校验的规则大体如下:

1 不能输入非正数, 比如 -1 -1.3 0 0.233
2 充值金额最小是一角 0.1 最小得单位是分
3 可以输入小数,由 2 可知小数点最多在百分位
4 最大的充值金额是 999999.99

首先大致划分一下,不考虑 .11 这种简写的情况下 金额的第一位是可以出现 0 的, 但是仅仅限于 0.11 0.1 0.17 这种小数。而 011 01.22 000 这种事不合法的。
对于后一种 正则可以这样写: /^([1-9]\d{0,5})(\.\d{1,2})?$/g
第一位一定是 1-9 之间的数字,紧接着后面的数字可以是 0-9 之间的任意一个,重复 0-5 次, 因为第一位已经占了一位了。
后面的小数点可以没有, 有的话 [0-9] 重复最少一次(小数点之后必须有数字), 最多两次 (保证最小单位是分)

1.png

对于小数点, 第一位肯定是 0, 十分位最小是 1 正则:/^0\.[1-9]{1,2}$/g
这种写法的话, 会认为 0.10 是非法的, 其实也没有必要在最后补上 0

2.png
如果接受 0.10 这种 ,可以这样写 /^0\.[1-9]\d?$/g
3.png

最后将两者(1 & 3) 结合起来 /^([1-9]\d{0,5}(\.\d{1,2})?|0\.[1-9]\d?)$/g

4.png

如果你认为 .11 这种也是合法的数字 可以稍加修改 /^([1-9]\d{0,5}(\.\d{1,2})?|0?\.[1-9]\d?)$/g

5.png

相关文章

  • 前端充值数目正则表示

    不得不说 正则表达式可视化 是真的不错, 研究正则的时候, 这个网站是很好的帮手。 现在前端页面有一个金额输入框,...

  • 正则表示

    手机号 移动号段正则表达式 联通号段正则表达式 电信号段正则表达式 电话号码以 13 , 15 , 18 ...

  • 五线谱重复符号

    文/江月 一、小节内音型重复:/; //…… 用斜线表示,横线数目与所表示音型符尾数目一致。 表示反复该小节前面的...

  • nginx之location匹配

    匹配规则 = 表示精确匹配 ~ 表示区分大小写的正则匹配,比如: ~* 表示不区分大小写的正则匹配 ^~ 表示 u...

  • tensorflow初学

    tensorflow 优化: 如何减少过拟合: dropout 正则化 减少隐含层的层级数目

  • 正则表示数量

  • 正则表示分组

  • iOS 之正则表达式与谓词(NSPredicate)

    一. 正则表达式 正则表达式 正则表达式又为正规表示法,常规表示法(Regular Expression),通常的...

  • Python 正则表达式

    正则表达式 1. 正则表达式概述 正则表达式,又称正规表示式、正规表示法、正规表达式、规则表达式、常规表示法(英语...

  • 【PTE语法】PTE英语语法中的数词原来是这么用的

    表示数目多少或顺序多少的词叫数词,数词分为基数词和序数词。表示数目多少的数词叫基数词;表示顺序的数词叫序数词。 一...

网友评论

      本文标题:前端充值数目正则表示

      本文链接:https://www.haomeiwen.com/subject/peunaqtx.html