C# textbox在Javascript中接受以下值?
我有一个文本框,我需要验证它只接受1,1.5,2,2.5,3,3.5,…11.5 如何验证它。。请告诉我答案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
$(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?$)会像你的一样工作吗?