我知道至少有十二个问题。我正在尝试使用正则表达式对街道地址的输入进行简单验证,从而检查输入项中至少两个空格。原因?在大多数情况下,我们的地址至少包含3个部分,街道编号,街道名称,类型(车道,行车路线,大街,大街等)
我要提醒用户,如果该条目至少与三个条目不匹配,如果它具有三个以上的空格,这意味着它在地址中具有更多名称,这很好,但是未达到最低要求则需要发出警告。我最近的努力在下面,但没有奏效。
var addregex = new RegExp("^\d{1,6}\040([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^\d{1,6}\040([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$|^\d{1,6}\040([A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,}\040[A-Z]{1}[a-z]{1,})$");
if (addregex.test($(this).val())) {
alert('is valid');
address.addClass('isvalid');
address.css("border", "1px solid lightgray");
} else {
address.css("border", "2px solid red");
alert("Are you sure this is a valid street address?");
address.focus();
}
最佳答案
一个简单的测试就是您所需要的:/^\s*\S+(?:\s+\S+){2}/