给数量number做数据校验及实现加减

1.数量number的数据校验

我们在idea的jsp页面上展示东西的时候,在做类似购物的时候,需要给数量和价格做一个数据校验,让它的值只能是数字和.,并且只能以数字开始,以数字结尾。

     方式一

<input value='0' onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"  />

     方式二

        <input  onkeyup="inputBox(this)" value="1" />
    // 数量输入框
    function inputBox(obj) {
        var currentNumber=$(obj).val();
        obj.value = obj.value.replace(/[^\d.]/g, "");  //清除“数字”和“.”以外的字符
        obj.value = obj.value.replace(/^\./g, "");  //验证第一个字符是数字而不是.
        obj.value = obj.value.replace(/\.{2,}/g, "."); //只保留第一个. 清除多余的.
        obj.value = obj.value.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
        if(!currentNumber){
            $(obj).val(1);
        }

    }

2.实现数量的加减功能

<div class="input-item">
 数量:
<image onclick="reduces(this)" class="clicksPic" src="${ctxStatic}/images/reduce.png" style="margin-left:5px"/>
<input  class="onlyDoubles "  value='0' id="number${sp.user_id}" data-userids="${sp.user_id}" data-stock="${sp.number}" data-number="number"  data-fl_id="${sp.fl_id}" data-unit="${sp.unit}" data-user_name="${sp.user_name}" data-order_money="order_money" data-sjname="${sp.sjname}" data-price="${sp.price}"  data-user_id="${sp.user_id}"  onkeyup="inputBox(this)" />
<image onclick="pluss(this)" class="clicksPic" src="${ctxStatic}/images/plus.png" style="margin-left:5px" />
 </div>



//<div class="input-item">
  //数量:
    //<image onclick="reduces(this)" class="clicksPic" src="${ctxStatic}/images/reduce.png" />
      //<input  class="onlyDoubles"  value='0'  onkeyup="this.value= this.value.match(/\d+(\.\d{0,2})?/) ? this.value.match(/\d+(\.\d{0,2})?/)[0] : ''"  />
   //<image onclick="pluss(this)" class="clicksPic" src="${ctxStatic}/images/plus.png"  />
 //</div>
  //	商品数量减
    function reduces(obj){
        //	获取当前商品数量
        var currentNumber=$(obj).next().val();
        var geshu = parseFloat(currentNumber)-1;
        if(geshu<=0){
            $(obj).next().val(0);
            $("#number"+numbery).removeClass("yangshids");
            $("#number"+numbery).addClass("e");
            $("#"+numbery).removeClass("yangshids");
            $("#"+numbery+"s").removeClass("yangshids");
            $("#commodity"+numbery).hide();
            $("#numbers"+numbery).removeClass("beijing");
        }else if(currentNumber==''){
            $(obj).next().val(0);
        }else {
            $(obj).next().val(parseFloat(geshu).toFixed(2));
        }
    }
    //	商品数量加
    function pluss(obj){
        //	获取当前商品数量
        var currentNumber=parseFloat($(obj).prev().val());
        // var number = parseFloat($(obj).val()); // 当前数量
        var kucun = parseFloat($(obj).data("stock"));
        var sjname = $(obj).data("sjname") // 名称
        if((parseFloat(currentNumber)>parseFloat(kucun))){
            warning(sjname+"数量大于库存数量");
        }
        //	商品数量加1
        $(obj).prev().val(currentNumber+1);
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值