我想使用正则表达式提示用户输入有效的家庭住址。
我已经在 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;
}
}
[
和 ]
中包含整个表达式这导致它不是一个接一个地预期的符号序列,而是一组替代方案(我认为这不是你想要的)。
所以试试这个:
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()