在 Javascript 上承认 space 的正则表达式

Regex to admit space on Javascript

我正在尝试验证一个表单字段,我需要这个字段只允许字母和 spaces 但是如果我在表单中写一个 space 字段没有被验证,什么是允许写入空白 spaces??

的正则表达式
function isCharacter(element, message){
    var alphaExp = /^[a-zA-Z]\s+$/;
    if(element.value.match(alphaExp)) {
        return true;
    } else {
        alert(message);
        return false;
    }
}

可以用 html5 pattern方便处理

<input type="text" name="name" pattern="^[a-zA-Z\s]+$" />
<input type="submit" value="ok" name="ok" />

问题出在你的正则表达式上,你必须把\s放在[]里面实现它。

var alphaExp = /^[a-zA-Z\s]+$/;

Here's a DEMO.

您可以强制第一个字符是字母,然后是字母或空格

/^[a-zA-Z][a-zA-Z\s]+$/

这确保输入字段不会单独包含空格

"asdf asdf".match(/^[a-zA-Z][a-zA-Z\s]+$/)
=> True

"   ".match(/^[a-zA-Z][a-zA-Z\s]+$/)
=> False
var alphaExp = /^[a-zA-Z]+$/;
var idLetters = ["a", "b", "m"]; 

var counter = 0;
var counter1 = 0;
var errors = "";

var numberonly = id.slice(0,-1);
var lettersonly = id.slice(-1);