当前位置:  开发笔记 > 编程语言 > 正文

正则表达式匹配数字与最多2位小数

如何解决《正则表达式匹配数字与最多2位小数》经验,为你挑选了2个好方法。

我正在使用一个正则表达式,它将数值与最多用户定义的小数位数相匹配.目前我有

/(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/

这将允许尽可能多的地方输入,但我也想有时允许2为货币或4或更多的其他输入.我正在建设的功能是

var isNumeric = function(val, decimals) {
    // decimals is not used yet
    var objRegExp = /(^-?\d\d*\.\d*$)|(^-?\d\d*$)|(^-?\.\d\d*$)/;
    return objRegExp.test(val);
};

cletus.. 21

/^\s*-?[1-9]\d*(\.\d{1,2})?\s*$/

宽恕空白是很好的(\ s).以上不允许从零开始.如果你想允许:

/^\s*-?\d+(\.\d{1,2})?\s*$/

以上两者都不允许十进制数字在小数点之前没有任何内容.如果你想允许:

/^\s*-?(\d+(\.\d{1,2})?|\.\d{1,2})\s*$/


Andrew Hare.. 5

尝试这样的事情:

^\d+\.\d{0,3}$

其中"3"是允许的最大小数位数.



1> cletus..:
/^\s*-?[1-9]\d*(\.\d{1,2})?\s*$/

宽恕空白是很好的(\ s).以上不允许从零开始.如果你想允许:

/^\s*-?\d+(\.\d{1,2})?\s*$/

以上两者都不允许十进制数字在小数点之前没有任何内容.如果你想允许:

/^\s*-?(\d+(\.\d{1,2})?|\.\d{1,2})\s*$/



2> Andrew Hare..:

尝试这样的事情:

^\d+\.\d{0,3}$

其中"3"是允许的最大小数位数.

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有