JQuery форматировать число только с одним дефисом - PullRequest
1 голос
/ 10 мая 2011
Сценарий
$('#mytextid').blur(function(){
  var string = $(this).val();
  $(this).val(string.substring(0,2) + '-' + string.substring(2,9))
}); 

выше работает нормально, когда кто-то вводит числа от 123456789 до 12-3456789

, но я не знаю, как я могу ограничить ввод только чисел (другие символы не допускаются)

помогите пожалуйста

спасибо

Ответы [ 2 ]

3 голосов
/ 10 мая 2011

Если вы хотите молча удалить недопустимые символы:

$('#mytextid').blur(function(){
  var string = $(this).val().replace(/[^\d]/g, ''); // Removes anything not in [0-9]
  $(this).val(string.substring(0,2) + '-' + string.substring(2,9))
}); 

Вместо этого выдать предупреждение:

$('#mytextid').blur(function(){
  var string = $(this).val();
  if (/[^\d]/.test(string)) { // Contains illegal characters
    // Warning etc. goes here...
  } else {
    $(this).val(string.substring(0,2) + '-' + string.substring(2,9));
  }
}); 
2 голосов
/ 10 мая 2011

При этом все нечисловые числа будут сброшены на blur().

$('#mytextid').blur(function(){
  var string = $(this).val().replace(/[^\d]+/g, '');
  $(this).val(string.substring(0,2) + '-' + string.substring(2,9))
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...