Javascript 检查输入值是否包含门牌号和可能的扩展名

Javascript 检查输入值是否包含门牌号和可能的扩展名,javascript,jquery,Javascript,Jquery,在接受输入之前,我试图检查输入值是否包含门牌号和可能的扩展名。整个输入作为字符串接收(即使是数字) 应该检查输入的内容,例如:myaddress 123 9bis。9bis是客户可以填写的可能的地址扩展。我们不需要检查分机。门牌号很重要。如果没有门牌号,我们想提醒一下 目前,它正在接受任何形式的输入。有时我们的客户忘记输入门牌号 完成此操作的最佳方法是什么?使用regex,如下所示: function containsInt(myString) { return /\d/.test(mySt

在接受输入之前,我试图检查输入值是否包含门牌号和可能的扩展名。整个输入作为字符串接收(即使是数字)

应该检查输入的内容,例如:myaddress 123 9bis。9bis是客户可以填写的可能的地址扩展。我们不需要检查分机。门牌号很重要。如果没有门牌号,我们想提醒一下

目前,它正在接受任何形式的输入。有时我们的客户忘记输入门牌号

完成此操作的最佳方法是什么?

使用regex,如下所示:

function containsInt(myString) {
  return /\d/.test(myString);
}
test()方法测试字符串中的匹配项。-w3schools.com

有关

工作示例:

您可能可以使用某种验证来检查地址是否与地址格式匹配,即数字后跟单词

我在JSFIDLE上创建了一个基本示例:它将字符串拆分为一个数组,并检查它是否与基本地址模式匹配

$(document).ready(function() {
    $("form").submit(function() {
    // validate address
    var data = $("input").val().split(" ");
    if (isNaN(data[0])===false) {
        if (data[1] !== undefined) {
         alert("Valid address");
      } else {
        alert("Invalid address");
      }
    } else {
        alert("Invalid address");
    }
    return false;
  });
});

看一看:首先,您需要指定验收标准。具体来说,定义什么构成有效输入。单元测试会有帮助。如果街道号以字母结尾,则会失败。例如“贝克街221B号”
$(document).ready(function() {
    $("form").submit(function() {
    // validate address
    var data = $("input").val().split(" ");
    if (isNaN(data[0])===false) {
        if (data[1] !== undefined) {
         alert("Valid address");
      } else {
        alert("Invalid address");
      }
    } else {
        alert("Invalid address");
    }
    return false;
  });
});