Показать сообщение отдельно
  #2 (permalink)  
Старый 10.02.2019, 19:27
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Вы имеете в виду, что есть код и его нужно отформатировать.

var re = /(?!^\d{4})(\d{3})(?=(?:\d{1,3})+$)/g;

alert("1234567890123456789".replace(re, "$1 "));


Т. е. если у вас есть строка s, то в отформатированном виде она будет равна s.replace(re, "$1 "), где re является регулярным выражением из примера выше.

Пример целиком...
<input class="creditCardInput2" placeholder="Введите номер кредитной карты" required autocomplete="cc-number">

<script>
function validateRealTimeCreditCardNumber(selector) {
	document.addEventListener("input", function(event) {
		var target = event.target;
		if(target.matches(selector)) {
			target.value = target.value
				.replace(/[^\d]/g, "")
				.replace(/^(.{19}).*$/g, "$1")
				.replace(/(?!^\d{4})(\d{3})(?=(?:\d{1,3})+$)/g, "$1 ");
		}
	});
}

validateRealTimeCreditCardNumber("[autocomplete=cc-number]");

</script>


Используйте автозаполнение номера кредитной карточки, чтобы пользователям меньше вводить!

Последний раз редактировалось Malleys, 10.02.2019 в 19:53.
Ответить с цитированием