输入类型文本为浮点数,值为123456.12345验证:值可以是xxx xxx。 xxx xx

时间:2015-04-15 07:58:31

标签: javascript jquery

<input type="text" class="bulk" id="bulk_mrcP"> 

.之前的最大长度应为六位数。

.之后的

maxlenght应该是五个数字。

这是我到目前为止所写的关键按键上的一段代码,并继续保持不变。

$('input#bulk_mrcP').keypress(function() {

 if($(this).val() > 0)
 {
    var val = $(this).val();
    var valOne = 0;
    var valTwo = 0;

    if(val.indexOf(".") != -1)
    {  
         valOne = val.substring(0,val.indexOf("."));
         if((valOne + '').length > 6)
         {
            var a  = $(this).val(valOne.slice(0, 6));
         }
         console.log(a);
    }           
}  

});

这个上的任何线索都会有所帮助。

2 个答案:

答案 0 :(得分:2)

我认为这应该满足您的要求......

var regx = /^[0-9]{1,6}(\.[0-9]{1,5})?$/;
console.log(regx.test('123456.12345'));  //returns true
console.log(regx.test('1234567.12345')); //returns false

从一个数字开始,在.之前和之后接受最少一位数,在.

之后最多五次之后最多允许六位.之前

另请注意,.是可选的

Demo(边框会相应更改)

答案 1 :(得分:0)

function validate(val, before, after) {
 var v = parseFloat(val).toString().split('.');
 return (v[0].length <= before && v[1].length <= after);
}

console.log(validate(123456.12345, 4, 5));
console.log(validate(123456.12345, 6, 5));