Проверка Javascript, допускающая пробелы, дефисы и иностранные символы в именах - PullRequest
0 голосов
/ 02 августа 2011

В настоящее время я использую код, подобный следующему:

    var alphaExp = /^[a-zA-Z]+$/;
    if (f_name.value.length > 1 && f_name.value.match(alphaExp)) {
        // success
    }
    else {
        document.getElementById("f_name_mark").innerText = "<img src='images/icons/cross.png' class='mark'>";
        // fail
    }

Однако alphaExp учитывает только заглавные и строчные буквы английского алфавита.Как можно разрешить ввод иностранных букв (é, å, ü и т. Д.) И пробелов / дефисов?

Ответы [ 2 ]

1 голос
/ 05 июня 2016

Вы можете попробовать следующее регулярное выражение:

/^[a-z- \xC0-\xFF]+$/i

Пример

JSFiddle

function validate() {
  var regex = /^[a-z- \xC0-\xFF]+$/i;
  var value = document.getElementById("txt").value;
  document.getElementById("result").innerHTML = regex.test(value) ? "valid": "incorrect"
}
<input type="text" id="txt">
<button onclick="validate()">Validate</button>
<p id="result"></p>

Справочник по кодировке

0 голосов
/ 02 августа 2011

Вставьте \s, чтобы разрешить пробелы. Добавьте другие буквы или символы, которые вы хотите соответствовать.

var alphaexp = /^[a-zA-Z\séåü]+$/

...