zoukankan      html  css  js  c++  java
  • 验证小数点后两位,且是正数

    *******只能输入小数点后两位 且是正整数

    function amountInput(parent,child,maxLength) {
    var CashingAmountLast = "";
    if(maxLength == undefined)
    {
    maxLength = 10;
    }
    $moneyInput = ""; //动态添加了内容 要用事件委托方式绑定下面的事件

    function checkCode(code) {
    var codeArea = code > 57 && code < 96;
    if (!(code == 190 || code == 110 || code == 46 || code == 8 || code == 37 || code == 39)) {
    if (codeArea || code < 48 || code > 105) {
    return false;
    }
    }
    return true;
    }

    $(parent).on("keydown", child, function(e) {
    var code = e.keyCode,
    val = e.target.value;
    if (val.indexOf(".") > -1 && (code == 190 || code == 110)) {
    e.target.value = val;
    return false;
    }
    if (!checkCode(code)) {
    return false;
    }
    this.setAttribute("data-keyCode", code);
    return true;
    }).on("input",child, function(e) {
    var val = this.value,
    keyCode = this.getAttribute("data-keyCode"),
    reSet = false;
    if (e.currentTarget.validity.valid) {
    if (val.indexOf(".") < 0 && (keyCode == 190 || keyCode == 110)) {
    val += ".";
    }
    } else {
    val = CashingAmountLast;
    if ((keyCode == 190 || keyCode == 110) && val.indexOf(".") < 0) {
    val = Number(CashingAmountLast).toFixed(1);
    }
    reSet = true;
    }
    fixCashFn.call(this,val, reSet);
    }).on("blur", child,function(e) {
    var val = Number($(this).val());
    if (!isNaN(val)) {
    e.target.value = val;
    } else {
    e.target.value = 0;
    }
    });

    function fixCashFn(a, isReset) {
    let money = typeof a === "string" ? a : a.toString(),
    flag = false,
    valArr = [],
    _slef = this;
    money = money.replace(/s/g, "");
    var strLen = money.length;
    if (isNaN(Number(money))) {
    flag = true;
    } else if (strLen > 0) {
    //保留至多两个小数点的数字
    if (!/^d+(?:.d{1,2})?$/.test(money) && money.charAt(strLen - 1) !== ".") {
    flag = true;
    }
    }
    if (flag) {
    money = CashingAmountLast;
    }
    if (isNaN(Number(money))) {
    money = "";
    }
    (function() {
    if (money.length > 0) {
    valArr = money.split(".");
    money = Number(valArr[0]).toString().slice(0, maxLength);
    if (valArr.length > 1) {
    money += "." + valArr[1].slice(0, 2);
    }
    }
    if (money.charAt(money.length - 1) !== ".") {
    if (a !== money) {
    $(_slef).val(money);
    CashingAmountLast = money;
    } else {
    CashingAmountLast = a;
    }
    }
    if (isReset) {
    $(_slef).val(money);
    }
    })();
    }
    }

    *****用法

    amountInput("#EditReCon_PayFormId",".EditReCon_PayMoney",10);//form表单id ,验证输入框的class ,只能输入几位数

  • 相关阅读:
    适合 C++ 新手学习的开源项目——在 GitHub 学编程
    原生JS封装常用函数
    C# 将excel文件导入到SqlServer数据库
    热配置的部署以及容易失败原因
    连接真机开发安卓(Android)移动app MUI框架 添加购物车等——混合式开发(四)
    标志寄存器06 零基础入门学习汇编语言59
    指针07 零基础入门学习C语言47
    标志寄存器05 零基础入门学习汇编语言58
    标志寄存器03 零基础入门学习汇编语言56
    标志寄存器04 零基础入门学习汇编语言57
  • 原文地址:https://www.cnblogs.com/lihong-123/p/9305445.html
Copyright © 2011-2022 走看看