diff --git a/src/ReactCodeInput.js b/src/ReactCodeInput.js index 88408b8..b33b1dc 100644 --- a/src/ReactCodeInput.js +++ b/src/ReactCodeInput.js @@ -153,6 +153,7 @@ class ReactCodeInput extends Component { } handleKeyDown(e) { + const isNumeric = /^\d*$/.test(e.key); const target = Number(e.target.dataset.id), nextTarget = this.textInput[target + 1], prevTarget = this.textInput[target - 1]; @@ -224,6 +225,11 @@ class ReactCodeInput extends Component { break; } + // Prevents typing letters if the type is number for Safari & Firefox + if (e.target.type === 'number' && !isNumeric) { + e.preventDefault(); + } + this.handleTouch(value); }