• 验证小数点后两位,且是正数


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

    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 ,只能输入几位数

  • 相关阅读:
    【ybtoj高效进阶 21173】简单区间(分治)
    【ybtoj高效进阶 21170】投篮训练(贪心)(线段树)(构造)
    【ybtoj高效进阶 21172】筹备计划(线段树)(树状数组)
    【ybtoj高效进阶 21168】打字机器(Trie树)(LCA)(值域线段树)
    【ybtoj高效进阶 21169】毁灭计划(分类讨论)(树形DP)
    【ybtoj高效进阶 21167】旅游计划(基环树)(DP)(单调队列)
    Day-15 面向对象02 成员
    Day-14 初识面向对象
    Day 13 内置函数(点击网址进入思维导图)、递归、二分法
    Day12 生成器函数-推导式
  • 原文地址:https://www.cnblogs.com/lihong-123/p/9305445.html
Copyright © 2020-2023  润新知