meena
meena

Reputation: 245

How to Validation for Decimal Number

I Have One text box Which should accept decimal like 12345.678 That text box should accept . before 5 decimals and after 3 decimals how to validate for this type

Upvotes: 0

Views: 88

Answers (2)

Sid M
Sid M

Reputation: 4354

Is this what you are looking for?

Fiddle: Demo

HTML

<input type="text" onkeypress = "return onlyDecimal(event,this)" onblur="validateValue(this)"/>

JS

function onlyDecimal(event, elem) {
    var charCode = (event.which) ? event.which : event.keyCode;
    console.log(elem.value.indexOf("."));
    if(elem.value.length>=9)
    {
        validateValue(elem);
        return false;

    }
    if (elem.value.indexOf(".") >= 0 && elem.value.split(".").length - 1 >= 0 && charCode > 31 && (charCode < 48 || charCode > 57)) {
        return false;
    }
    if ((charCode == 190 || charCode == 110 || charCode == 46) && elem.value.length>=5) //for '.'
        return true;
    if (charCode > 31 && (charCode < 48 || charCode > 57))
        return false;

}

function validateValue(elem){
    if(elem.value.length<=9 && elem.value.indexOf(".") < 0)
    {
        alert("invalid value");
    }   
    else if(elem.value.length<=9 && elem.value.indexOf(".") !=5)
    {
        alert("invalid value");
    }   
    else if(elem.value.length>0 && elem.value.indexOf(".") >0)
    {
        var temp=elem.value.split(".");

        if(temp[0].length<5 ||temp[1].length<3)
            alert("invalid value");
    }   
}

Upvotes: 0

Rakesh_Kumar
Rakesh_Kumar

Reputation: 1442

You can use regular expressions to match values from textarea. Required regex would be:

/^\d{5}\.{1}\d{3}$/

http://www.regexr.com/3a8rn

Upvotes: 1

Related Questions