Маскировка введенного номера кредитной карты на стороне клиента - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть ViewModel, содержащая строку CreditCard.То, что я ищу, - это атрибут или его маскировка таким образом, что в каждые 4 цифры добавляется один пробел.Примерно так: 4764 4000 9425 3041 Есть предложения?

Ответы [ 3 ]

0 голосов
/ 07 декабря 2018

попробуйте это:

const num = 4764400094253041;
const regex = /\d{4}/g;

const res = num.toString().replace(regex, (maths) => maths === 12 ? maths : maths + ' ')

const responseEl = document.getElementById("response");

responseEl.innerText = res;
<div id="response"></div>
0 голосов
/ 07 декабря 2018

Маска ввода Робина Хербота jQuery (https://github.com/RobinHerbots/Inputmask), кажется, делает то, что вы ищете. Вы можете указать форматирование маски в javascript или поставить его как атрибут.

<input id="cc" type="text" data-inputmask="'mask': '9999 9999 9999 9999'" />

ЗдесьЭто пример кода (отказ от ответственности, не мой, кредит: Крис Койер):

https://codepen.io/chriscoyier/pen/PbOEqL

0 голосов
/ 07 декабря 2018

Вот способ сделать это с помощью JavaScript:

var num = 1215464565; 
var newNum = num.toString().match(/.{4}/g).join(' ');
console.log(newNum);

RelatedPost

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...