Javascript 使用regexp验证表单输入

Javascript 使用regexp验证表单输入,javascript,regex,validation,Javascript,Regex,Validation,嗨。我有一个用于谷歌地图页面的表单,我想将输入字段限制为只允许a-z,a-z,0-9,空格和连字符。我使用的是: var postCode = $('#form').val(); Validate = /[a-z0-9 A-Z\-]$/.test(postCode); if (!Validate) { $('#results').html("Please enter alpha numeric (a-z 0-9) characters"); return; } 但这不起作用。

嗨。我有一个用于谷歌地图页面的表单,我想将输入字段限制为只允许
a-z
a-z
0-9
,空格和连字符。我使用的是:

var postCode = $('#form').val();
Validate = /[a-z0-9 A-Z\-]$/.test(postCode);

if (!Validate) {
    $('#results').html("Please enter alpha numeric (a-z 0-9) characters");
    return;
}

但这不起作用。有人能帮我修一下吗?

我想你需要
/^[a-z0-9 a-Z\-]*$/
。注意:字符串开头的
^
以及结尾的
$
确保您验证整个字符串,而不仅仅是其后缀

如果您不想接受空字符串,您可以用
+
(一个或多个)替换
*
(零个或多个量词),甚至可以指定长度的精确范围,例如:
/^[a-z0-9 a-Z\-]{3,10}$/

^[0-9a-zA-Z]+([ -][0-9a-zA-Z]+)?$
匹配项:

90210

abcDEF

abc DEF

abc DEF

a1b-2c3

但如果存在前导或尾随空格/连字符,则不匹配


基于:

太好了,这正是我需要的,我甚至没有想到0字符条目,所以这是一个额外的奖励,谢谢!