JavaScript验证中用于名称字段的正则表达式

7
我需要一个在Javascript验证中使用的正则表达式。这个正则表达式用于姓名字段,只接受字母和单词之间的空格,并且字段中的总字符数应该在2到30之间。也就是说,这个字段应该接受最少2个字符,最多30个字符。

我需要一个在 JavaScript 中用于名称字段的正则表达式。 - user1179752
那仍然不是一个问题。而且你不应该这样做。请阅读http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-believe-about-names/。 - Tim Pietzcker
谢谢Tim Pietzcker。 - user1179752
3个回答

22
function validate(id) {
    var regex = /^[a-zA-Z ]{2,30}$/;
    var ctrl =  document.getElemetnById(id);
    return regex.test(ctrl.value);
}

2
你可以用 return test(ctrl.value); 替换你的条件语句。 - Sean H
1
我相信你的意思是:return regex.test(ctrl.value) - xgMz
4
那重音符号怎么办呢?英语并不是地球上唯一的语言。 - CodeGems
<script type="text/javascript"> function isAlfa(evt) { evt = (evt) ? evt : window.event; var charCode = (evt.which) ? evt.which : evt.keyCode; if (charCode > 32 && (charCode < 65 || charCode > 90) && (charCode < 97 || charCode > 122)) { return false; } return true; } function toTitleCase(str) { return str.replace(/\w\S*/g, function (txt) { return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase(); }); } </script> - Code

2

试试这个:

/^([a-zA-Z ]){2,30}$/

-1

你的解决方案将会是什么。

 /^[a-zA-Z ]{2,30}$/;

注意:只需在括号内添加一个空格。其他空白字符,如制表符、换页符和换行符,将不匹配。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接