使用正则表达式向用户询问家庭住址

发布于 2023-02-13 13:02:46

我想使用正则表达式提示用户输入有效的家庭住址。

我已经在 regex101.com 上测试了我使用的正则表达式,但无论我写什么,代码仍然不起作用......

应该通过的地址示例:26 John Street, City Road

我做错了什么?

功能按钮 1() { let address = prompt("请输入您的地址"); var regex = /[\d+[ ](?:[A-Za-z0-9.-]+[ ]?)+(?:Avenue|Lane|Road|Boulevard|Drive|Street|Ave|Dr|Rd| Blvd|Ln|St).?]/;

  if (regex.test(address)) {
    return true;
  } else {
    console.log("Please enter a valid address");
    return false;

  }
}

查看更多

1楼回答 2023-02-12

我认为你不应该在 [] 中包含整个表达式

这导致它不是一个接一个地预期的符号序列,而是一组替代方案(我认为这不是你想要的)。

所以试试这个:

function button1() {
  //  let address = prompt("Please enter your address");
  const address = "26 John Street, City Road"

  var regex = /d+[ ](?:[A-Za-z0-9.-]+[ ]?)+(?:Avenue|Lane|Road|Boulevard|Drive|Street|Ave|Dr|Rd|Blvd|Ln|St).?/;

  if (regex.test(address)) {
    console.log("Valid")
    return true;
  } else {
    console.log("Please enter a valid address");
    return false;

  }
}

button1()
请登录后再发布答案,点击登录