Я пишу RegEx для использования на полях ввода. Цель этого - позволить пользователю вводить только цифры и больше ничего (даже точка и запятая не допускаются). Вот мой код до сих пор:
RegExp = new RegExp(/^[0-9]$/);
Это, тем не менее, позволяет пользователю вводить точки и запятые. Какое изменение я должен сделать, чтобы получить только цифры?
2 ответа
Вы можете использовать type = "number"
, чтобы разрешить только цифры и событие onkeypress
для фильтрации dot
знака для вашего элемента управления input
:
<input type="number"
(onkeypress)="return (event.charCode == 8 || event.charCode == 0 ||
event.charCode == 13) ? null : event.charCode >= 48 && event.charCode <= 57">
элементы типа number используются для того, чтобы пользователь мог ввести число. Они включают встроенную проверку для отклонения нечисловых записей. Браузер может выбрать использование шаговых стрелок, чтобы позволить пользователю увеличивать и уменьшать значение с помощью мыши или простого касания пальцем.
Я думаю, что это может быть то, что вам нужно:
[Test]
public void TestRegExDigitsOnly()
{
var regEx = new Regex("^[0-9]*$");
regEx.IsMatch("123").ShouldBeTrue();
regEx.IsMatch("12.").ShouldBeFalse();
regEx.IsMatch("1.3").ShouldBeFalse();
regEx.IsMatch("abc").ShouldBeFalse();
}
Похожие вопросы
Новые вопросы
regex
Регулярные выражения предоставляют декларативный язык для сопоставления шаблонов в строках. Они обычно используются для проверки строк, разбора и преобразования. Укажите язык (PHP, Python и т. д.) или инструмент (grep, VS Code, Google Analytics и т. д.), который вы используете. Не размещайте вопросы, требующие объяснения того, что означает символ или чему будет соответствовать конкретное регулярное выражение.