Вы можете использовать .some()
для ввода символов:
const alphaInInput = !splittedTarget.some(elem => alphabet.indexOf(elem) > -1);
alphaInInput
будет boolean
.Если ваш ввод содержит символ из строки alphabet
, то это будет true
, если нет, то будет false
.
См. Рабочий пример ниже:
document.querySelector('#phonenumber').addEventListener('change', function (e) {
let alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; // Remove .split() (no need for array)
let target = e.target.value;
let splittedTarget = target.split('');
const alphaInInput = splittedTarget.some(elem => alphabet.indexOf(elem) > -1);
// console.log(splittedTarget, alphabet)
if (!alphaInInput) {
alert('there is not');
} else {
alert('there is');
}
});
<input id="phonenumber" />
Или вы можете использовать regex
, используя следующий шаблон /[A-Za-z]/g
, а затем используя .test()
, чтобы увидеть, соответствует ли ваш ввод шаблону.
Примечание : /[A-Za-z]/g
проверяет символы от A до Z и от a до z, т. Е. Что содержит строка алфавита:
document.querySelector('#phonenumber').addEventListener('change', function (e) {
let inputStr = e.target.value;
let regex = /[A-Za-z]/g;
let alphaInInput = regex.test(inputStr);
if (!alphaInInput) {
alert('there is not');
} else {
alert('there is');
}
});
<input id="phonenumber" />