知方号

知方号

自定义数值范围和小数点的金额的正则表达式验证<金额格式不正确>

自定义数值范围和小数点的金额的正则表达式验证

金额格式正则表达式的结果在第三点,可点击目录查看,有兴趣可以看写的过程和分析,自定义金额格式在第二点。

下面这段代码来自网络上比较流行的正则表达式金额验证,由于很少自己写正则表达式,所以当提出需要限制最大金额的时候,我对这个表达式进行了一点改动,顺便做个笔记。

var reg = /(^[1-9]([0-9]+)?(.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9].[0-9]([0-9])?$)/;var money = "520.100";//000 错//0 对//0. 错//0.0 对//050 错//00050.12错//70.1 对//70.11 对//70.111错//500 正确if (reg.test(money)) { alert("正确~");}else{ alert("有误~");}; 1.解读表达式

首先我们分析下这个表达式,即使没有正则表达式的基础也很好看懂。 该表达式的第一层有三个 “|” ,表示他允许有三种表达式。分别是:

(^1-9?(.[0-9]{1,2})?$)

^与$,基础知识,非新手略过

^ 表示匹配字符串的开始,$表示匹配字符串的结束,这两个符号的意义在于整个字符串的格式必须完全满足于该正则表达式,如果不加 ^或$ ,那诸如:bd12,12bd等等表达式可能都会判断为正确的金额格式,因为没有限制开始和结束,正则表达式只需要验证的目标存在需要的格式都算正确。

书归正传

[1-9] 表示从1-9取一位数字([0-9]+)? 表示从0-9取一位数字,+重复一次或

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至lizi9903@foxmail.com举报,一经查实,本站将立刻删除。