猿问

如何以文本框数字格式(如 44.44)执行验证

我想检查 javascript 和 php 的值,哪个应该像这种格式 22.22 或 00.44 或 44 或 55.00。


我有以下代码。


$(function(){


    // $('.pixcel_rate').keypress(function (event) {

    //         return isNumber(event, this)

    // });

   $('.pixcel_rate').keypress(function (event) {

            return validateFloatKeyPress($(this).val());

    });

  });



// THE SCRIPT THAT CHECKS IF THE KEY PRESSED IS A NUMERIC OR DECIMAL VALUE.  



function validateFloatKeyPress(evt,el) {

    var charCode = (evt.which) ? evt.which : event.keyCode;

    var number = el.value.split('.');


    if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57)) {

        return false;

    }

    //just one dot (thanks ddlab)

    if(number.length>1 && charCode == 46){

         return false; 

    }

    //get the carat position

    var caratPos = getSelectionStart(el);

    var dotPos = el.value.indexOf(".");


    console.log(caratPos);

    console.log(dotPos);

    if( caratPos >1  && dotPos>-1 && (number[0].length > 1)){

        return false;

    }

    if( caratPos > dotPos && dotPos>-1 && (number[1].length > 1)){

        return false;

    }

    return true;

}


function getSelectionStart(o) {

    if (o.createTextRange) {

        var r = document.selection.createRange().duplicate()

        r.moveEnd('character', o.value.length)

        if (r.text == '') return o.value.length

        return o.value.lastIndexOf(r.text)

    } else return o.selectionStart

}


神不在的星期二
浏览 131回答 2
2回答
随时随地看视频慕课网APP
我要回答