【问题标题】:do not allow user to enter more value if first digit is zero如果第一个数字为零,则不允许用户输入更多值
【发布时间】:2016-11-23 19:33:29
【问题描述】:

我正在使用 java 脚本在我的前端进行一些自定义验证,我想要实现的是,如果用户输入除零以外的任何数字,它应该继续他输入的任何数字,但如果用户输入了零作为第一个数字不应允许用户在此之后输入任何值!只有 0 没有别的
我看到许多网站都有一个功能,如果他们在输入字段中有不需要的字符,他们只是动态退格!就像在卡号字段上的许多支付处理网站上一样!所以在我的情况下,如果第一个数字为零,我将退格之后的所有内容,如果不为零,则什么也不做,让它处理..类似我正在寻找的东西 这是我正在处理的初始代码

<?php $numbers_var='REAR_PRICE_'.str_replace(" ","_",$buttonloop[$i]);?>
<input onkeyup="checknumbers('<?php echo $numbers_var?>')" onkeypress='return event.charCode >= 48 && event.charCode <= 57' name="REAR_PRICE_<?php echo str_replace(" ","_",$buttonloop[$i]);?>"style="color: black;width: 100%;" value="<?=$rear?>" type="input"/>

这是javascript

function checknumbers(i){
    if($("input[name="+i+"]").val()=='0'){
        //what to do?
    }
 }

【问题讨论】:

    标签: javascript php


    【解决方案1】:

    您可以在按键事件中完成所有操作

    function checknumbers(event) {
      if(event.target.value === '0' || !(event.charCode >= 48 && event.charCode <= 57)) {
        event.preventDefault()
        return false
      }
    }
    <input 
      type="input"
      onkeypress='checknumbers(event)' 
      name="REAR_PRICE_1"
      style="color: black;width: 100%;"
      value=""
    />

    【讨论】:

    • 天哪!!!!谢谢人真的很感激帮助!继续努力
    【解决方案2】:

    只读

    function checknumbers(i){
        if($("input[name="+i+"]").val()=='0'){
           $("#fieldName").prop("readonly", true);
        }
     }
    

    【讨论】:

    • 大部分都完成了,但问题是他可以退格并输入其他值!!!在这种情况下,如果应用了只读属性,他就不能退格或对它做任何事情
    • 我确实看过
    【解决方案3】:

    试试这个..

     function checknumbers(i){
           var input = $("input[name="+i+"]").val();
           if(input == "0"){
              return false;
            }
    
        }
    

    【讨论】:

    • 不!我们的 return false 不起作用它没有做任何事情而且我不需要 else
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-07
    • 2013-12-30
    • 2022-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多