Похоже, что многие пользователи заметили, что эти регулярные выражения почти наверняка потерпят неудачу, если мы не будем строго работать на английском языке. Но я думаю, что есть простой путь вперед, который не был бы таким ограниченным.
- сделайте копию вашей строки во всех ВЕРХНЯЯ ЧАСТЬ
- сделать вторую копию строчными буквами
Любые символы, которые совпадают в этих строках, по определению не являются буквенными.
let copy1 = originalString.toUpperCase();
let copy2 = originalString.toLowerCase();
for(let i=0; i<originalString.length; i++) {
let bIsAlphabetic = (copy1[i] != copy2[i]);
}
При желании вы также можете определять цифры, просто просматривая цифры от 0 до 9.