Мне нужно заменить все цифры.JS regex: заменить все цифры в строке
Моя функция заменяет только первую цифру.
var s = "04.07.2012";
alert(s.replace(new RegExp("[0-9]"), "X")); // returns "X4.07.2012"
// should be XX.XX.XXXX"
Мне нужно заменить все цифры.JS regex: заменить все цифры в строке
Моя функция заменяет только первую цифру.
var s = "04.07.2012";
alert(s.replace(new RegExp("[0-9]"), "X")); // returns "X4.07.2012"
// should be XX.XX.XXXX"
Вы должны добавить «глобальный» флаг вашего регулярное выражения:
s.replace(new RegExp("[0-9]", "g"), "X")
или, возможно, симпатичнее, используя встроенный в буквальном регулярное выражение синтаксис:
.replace(/[0-9]/g, "X")
Использование
s.replace(/\d/g, "X")
который заменит все вхождения. Значение g
означает глобальное соответствие и, следовательно, не остановится после первого появления.
Или остаться с RegExp
конструктору:
s.replace(new RegExp("\\d", "g"), "X")
/g
модификатор используется для выполнения глобального матча (найти все матчи, а не остановка после первого)
Вы можете использовать\d
для цифры, так как она короче[0-9]
.
JavaScript:
var s = "04.07.2012";
echo(s.replace(/\d/g, "X"));
Выход:
XX.XX.XXXX
найти числа, а затем заменяются строками, которые указаны. Это достигается двумя способами
Использование регулярных выражений буквального
Используя объект ключевое слово РегВыр
Используя литерал регулярного выражения:
<script type="text/javascript">
var string = "my contact number is 9545554545. my age is 27.";
alert(string.replace(/\d+/g, "XXX"));
</script>
* * Выход: ** мой контактный номер X XX. мой возраст XXX.
для более подробной информации:
http://www.infinetsoft.com/Post/How-to-replace-number-with-string-in-JavaScript/1156
Я думаю, что вам нужен глобальный вариант замены. И '[0-9]' можно упростить до '\ d'. – nhahtdh