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