Javascript限制在文本框中输入数字

时间:2015-04-30 15:44:22

标签: javascript

我有一个MVC表单,我想将某些文本框的条目限制为仅限数字。我发现这个代码可以做到这一点,但是,它也限制了键盘右侧键盘上数字的使用。关于如何允许键盘的任何想法?我不确定是什么导致这种情况发生。

<script type="text/javascript">
       function ValidateNumber(e) {
           var evt = (e) ? e : window.event;
           var charCode = (evt.keyCode) ? evt.keyCode : evt.which;
           if (charCode > 31 && (charCode < 48 || charCode > 57)) {
               return false;
           }
           return true;
       };

HTML Razor:

@Html.TextBoxFor(m => m.CustomerSSN, new { @placeholder = "Customer SSN", @type="number" })

2 个答案:

答案 0 :(得分:2)

另一种方法是使用内置验证的HTML 5输入标记。

<input type="number" name="quantity">

www.w3schools.com/html/html_form_input_types.asp

答案 1 :(得分:0)

所以这就是我解决这个问题的方法......

<script type="text/javascript">
    //Allow only numbers entered
    $(document).ready(function () {
        $("#CustomerSSN").keypress(function (e) {
            if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
                                return false;
            }
        });
    });