Кузнецов Андрей, РБС
Кузнецов Андрей
frontend lead, РБС
<input type="number" pattern="[0-9]*" inputmode="numeric">
<input type="tel">
type="number" на всех телефонах содержат разный набор кнопокtype="number" нужно еще дорабатывать для нормальной работы.type="number" не позволяет находится в поле другим "не числовым" символам, например, пробелу.
.input_cvc {-webkit-text-security: disc;text-security: disc;}
$('.input_number').keypress(function (event) {var keycode = event.which;if (!(keycode == 46 || keycode == 8 || keycode == 37 || keycode == 39 ||(keycode >= 48 && keycode <= 57))) {return false;}});
keyCode может быть всегда 229
textInput
$('div').on('textInput', function (e) {$('#textInput').text(e.originalEvent.data);});
Поддержка с iOS 8, Chrome 60<input type="text" name="cardnumber"><input type="text" name="expirationdate"><input type="text" name="nameoncard">
card number, cardnumber, cardnum, ccnum, ccnumber, cc num, creditcardnumber, credit card number, newcreditcardnumber, new credit card, creditcardno, credit card no, card#, card #, cvc2, cvv2, ccv2, security code, card verification, name on credit card, name on card, nameoncard, cardholder, card holder, name des karteninhaber,
card type, cardtype, cc type, cctype, payment type, expiration date, expirationdate, expdate, month. date m, date mo, year, date y, date yr
Лучшее средство для сбора данных у плательщика!
if (window.PaymentRequest) { ... }
let request = new PaymentRequest(supportedInstruments,details,paymentOptions);
// Поддерживаемые способы оплатыvar methodData = [{supportedMethods: ['visa', 'mastercard', 'alipay']}];
// Детали платежаvar details = {total: {label: 'Покупка слона',amount: {currency: 'RUB',value: '99.99'}},displayItems: [{label: 'Голова слона',amount: {currency: 'RUB', value: '39.99'}}, {label: 'Тело слона',amount: {currency: 'RUB', value: '60.00'}}]};
// Настройкиvar options = {requestShipping: false,requestPayerEmail: true,requestPayerPhone: true};
// Показываем UIrequest.show().then((paymentResponse) => {// Данные собраны, отправляем запрос на оплату на бекvar cardInfo = paymentResponse.details;// AJAX// Eсли успешно оплачено, тоpaymentResponse.complete('success');// Закрыть окно с ошибкойpaymentResponse.complete('fail');}).catch((err) => {// обработка ситуации когда пользователь закрыл окно});