我尝试使用JavaScript验证文本字段。它应该允许(a-z,单词之间的空格和A-Z)。
我试过了,但它没有用:
function formValidator(){
var name = document.getElementById('name');
if(isAlphabet(name, "Please enter only letters for your name")){
return true;
}
return false;
}
function isAlphabet(elem, helperMsg){
var alphaExp = /^[a-zA-Z.,\b]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
答案 0 :(得分:1)
我认为你的正则表达式应该是这样的:
/^[a-z]+(\s+[a-z]+)*$/i
这允许A-Z(由于/i
而不区分大小写),然后是任意数量的空白字符和A-Z。最后一部分可能会重复或根本不需要出现。
答案 1 :(得分:0)
在单词之间只允许一个空格:
/^[a-z]+( [a-z]+)*$/i.test(str);