Javascript验证允许在名称中使用空格、连字符和外字符

Javascript validation allowing spaces, hyphens, and foreign characters in names

本文关键字:空格 连字符 字符 验证 Javascript      更新时间:2023-09-26

我目前使用的代码是这样的:

    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只包含大写和小写的英文字符。如何允许使用外国字母(、ü等)和空格/连字符?

您可以尝试以下regex:

/^[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>

编码参考

插入's以允许空格。添加您想要匹配的其他字母或符号。

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