我正在使用一个正则表达式,它将数值与最多用户定义的小数位数相匹配.目前我有
/(^-?\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"是允许的最大小数位数.
/^\s*-?[1-9]\d*(\.\d{1,2})?\s*$/
宽恕空白是很好的(\ s).以上不允许从零开始.如果你想允许:
/^\s*-?\d+(\.\d{1,2})?\s*$/
以上两者都不允许十进制数字在小数点之前没有任何内容.如果你想允许:
/^\s*-?(\d+(\.\d{1,2})?|\.\d{1,2})\s*$/
尝试这样的事情:
^\d+\.\d{0,3}$
其中"3"是允许的最大小数位数.