街道地址的简单正则表达式

din*_*tom 5 javascript regex jquery

我知道至少有十几个问题.我正在尝试使用Regex对街道地址的输入进行简单验证,我在输入条目中检查至少两个空格.原因?在大多数情况下,我们的地址至少有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();
            }
Run Code Online (Sandbox Code Playgroud)

小智 10

您只需要一个简单的测试: /^\s*\S+(?:\s+\S+){2}/


小智 8

\w+(\s\w+){2,}

描述:

  • \w+=> 字母数字,一次或多次重复
  • \s=> 空白
  • (\s\w+)=> 一个编号的捕获组 [\s\w+]
  • {2,}=> 至少 2 次重复