2013-07-01 3 views
0

У меня есть текстовое поле, и мне нужно проверить, что он принимает только 1,1,5,2,2,5,3,3,5, ... 11,5 Как его проверить .. pls ответьте пожалуйста.textbox принимает следующие значения в Javascript?

$(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; 
     } 

    }); 

это мой образец кода .. но он не будет работать.

+0

Почему бы не использовать раскрывающийся список? –

+0

Требование клиента - только текстовое поле @BillGregg –

+0

Точно. Выпадающее меню решит проблему проверки. Вероятно, вам все равно придется проверять, но, по крайней мере, это делает невероятным то, что кто-то введет неправильное значение. –

ответ

2

Вы можете сделать это с помощью 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; 
} 

Вы должны изменить это в соответствии с вашими потребностями.

Вот скрипка: http://jsfiddle.net/5Cm2w/

Не забудьте обновить массив с вашими реальными значениями.

+0

Откуда должна быть вызвана()? –

+0

@Jeevan Jose .. позвольте мне попробовать urs –

+0

Подтвердить нужно вызвать на каждое событие keyup @BillGregg –

2

Это может решить вашу цель.

$(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('')); 
     } 
    }); 
}); 

Demo

Но если и хотят, чтобы до 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('')); 
     } 
    }); 
}); 

Demo

+0

thecodeparadox просто из любопытства будет шаблон/^ [1-9] {1 } [1]? (\. 5?)? $/Работают как ваши? – manraj82

+0

@ manraj82 да будет работать. – thecodeparadox

Смежные вопросы