C# textbox在Javascript中接受以下值?

C# textbox在Javascript中接受以下值?,c#,javascript,jquery,asp.net-mvc,C#,Javascript,Jquery,Asp.net Mvc,我有一个文本框,我需要验证它只接受1,1.5,2,2.5,3,3.5,…11.5 如何验证它。。请告诉我答案 $(document).on('keyup', '#Dia_Inch', function (e) { Dia_Inch = $(this).val(); if (Dia_Inch.charAt(1) == ".") { if (Dia_Inch.charAt(2) != "5") { this

我有一个文本框,我需要验证它只接受1,1.5,2,2.5,3,3.5,…11.5 如何验证它。。请告诉我答案

 $(document).on('keyup', '#Dia_Inch', function (e) {
        Dia_Inch = $(this).val();


        if (Dia_Inch.charAt(1) == ".") {
            if (Dia_Inch.charAt(2) != "5") {
                this.value = '';
                $('#Dia_Inch').val("");
                alert("Number must be between 0 and 11.5 If zero inches, must enter 0 Enter 1/2 inches as .5; -Ex. 3 and 1/2 inches entered as 3.5");
                return false;
            }
        }

        var val = isNumberInch(e);
        if (val == false || Dia_Inch > 11.5) {
            this.value = '';
            $('#Dia_Inch').val("");
            alert("Number must be between 0 and 11.5 If zero inches, must enter 0 Enter 1/2 inches as .5; -Ex. 3 and 1/2 inches entered as 3.5");
            return false;
        }

    });

这是我的示例代码。。但是它不会工作。

您可以使用jquery:

function validate(value){
  var arr = [1,1.5,2,2.5,3,3.5,...11.5];
  if($.inArray(value, arr) >= 0){
    return true;
  }
return false;
}
你必须根据你的需要修改这个

这是一把小提琴:


不要忘记用实际值更新数组。

您可以使用jquery:

function validate(value){
  var arr = [1,1.5,2,2.5,3,3.5,...11.5];
  if($.inArray(value, arr) >= 0){
    return true;
  }
return false;
}
你必须根据你的需要修改这个

这是一把小提琴:


不要忘记用实际值更新数组。

这可能会解决您的问题

$(function() {
    $('button').on('click', function() {
      var val = $.trim($('input[type="text"]').val());
        if(val.length && $.isNumeric(val) && val.match(/^\d+(\.5{0,1})?$/)) {
           alert('valid')
        } else {
            alert('invalid');
            $.trim( $('input[type="text"]').val('') );
        }
    });
});

但是如果你想允许高达11.5,那么

$(function() {
    $('button').on('click', function() {
      var val = $.trim($('input[type="text"]').val());
        if(val.length && $.isNumeric(val) && val.match(/^[1-9]{1}[1]{0,1}(\.5{0,1})?$/)) {
           alert('valid')
        } else {
            alert('invalid');
            $.trim( $('input[type="text"]').val('') );
        }
    });
});

这可能会解决您的问题

$(function() {
    $('button').on('click', function() {
      var val = $.trim($('input[type="text"]').val());
        if(val.length && $.isNumeric(val) && val.match(/^\d+(\.5{0,1})?$/)) {
           alert('valid')
        } else {
            alert('invalid');
            $.trim( $('input[type="text"]').val('') );
        }
    });
});

但是如果你想允许高达11.5,那么

$(function() {
    $('button').on('click', function() {
      var val = $.trim($('input[type="text"]').val());
        if(val.length && $.isNumeric(val) && val.match(/^[1-9]{1}[1]{0,1}(\.5{0,1})?$/)) {
           alert('valid')
        } else {
            alert('invalid');
            $.trim( $('input[type="text"]').val('') );
        }
    });
});


为什么不使用下拉列表框?客户要求仅为文本框@Billgreggexatly。下拉列表将解决此验证问题。您可能仍然需要验证,但至少这使得有人输入错误值的可能性更大。您愿意使用jquery吗?没问题@JeevanJoseWhy不使用下拉列表框?客户机要求仅为文本框@billgeglexactly。下拉列表将解决此验证问题。您可能仍然需要验证,但至少这使得有人输入错误值的可能性更大。您愿意使用jquery吗?没问题@jeevanjosevalidate()应该从何处调用?@Jeevan Jose。。让我试试看,你应该调用每一个keyup事件@BillGregg@BillGregg我已经更新了我的答案。如果您传入该值,函数将根据是否在数组中找到该值返回true或false。Yikes,在每次向上键时进行验证意味着您将在用户键入“1”后对其大惊小怪。当用户即将键入有效值“1.5”时。作为一个会激怒我的用户,validate()应该从哪里调用?@Jeevan Jose。。让我试试看,你应该调用每一个keyup事件@BillGregg@BillGregg我已经更新了我的答案。如果您传入该值,函数将根据是否在数组中找到该值返回true或false。Yikes,在每次向上键时进行验证意味着您将在用户键入“1”后对其大惊小怪。当用户即将键入有效值“1.5”时。作为一个用户,这会激怒我。代码悖论只是出于好奇模式/^[1-9]{1}[1]?(\.5?$)会像你的一样工作吗?代码悖论只是出于好奇模式/^[1-9]{1}[1](\.5?$)会像你的一样工作吗?