Я хочу удалить все не цифры и все знаки препинания, кроме "." - PullRequest
1 голос
/ 11 ноября 2019

Я хочу удалить все нецифровые символы и знаки препинания, кроме "."Я проделал аналогичную работу по удалению всех нецифровых символов, таких как:

 if (!/^[0-9]+$/.test(this.value)) {
     this.value = this.value.replace(/\D/, "");
}

Как я могу это сделать? Спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 11 ноября 2019

\D будет соответствовать любому символу, который не является цифрой.

Если вы также не хотите сопоставлять точку, вы можете использовать отрицательный класс символов [^\d.]+, который будет соответствовать любому символу, кроме точки или цифры.

Поскольку вы заменяете его пустой строкой, вы можете повторить класс символов 1+ раз.

Используйте глобальный флаг /g, чтобы заменить все вхождения.

this.value = this.value.replace(/[^\d.]+/g, "");
1 голос
/ 11 ноября 2019
this.value = this.value.replace(/[^\d\.]/g, "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...