正则表达式用于字母数字,逗号,连字符,句点 - 地址验证

时间:2017-07-26 17:39:37

标签: regex

到目前为止,我有以下正则表达式加事件密钥用于地址验证:

根据下面的评论更新了Regex:

const ADDRESS_REGEX = /^[a-zA-Z0-9\s.,'-]*$/;

addressValidation(event){
if (!ADDRESS_REGEX.test(event.key) && event.key !== "Tab" && event.key !== "Delete" && event.key !== "Backspace" && event.key !== "ArrowLeft" && event.key !== "ArrowRight" && event.key !== "Enter" && event.key !== "NumpadEnter"){
  return false;
 }
}

它正常工作,除非是阻塞期。如何更新正则表达式以允许句点?一个更大的问题,是字母数字,逗号,超级,时间正确的地址验证?

问题#2

如何修改上述正则表达式以检查数字后跟单词或单词后跟数字。例: “33随机街道”或 “西57街9号”

1 个答案:

答案 0 :(得分:1)

您可以使用

/^[a-zA-Z0-9\s.,'-]*$/
              ^

字符类中的点始终与文字点匹配,无需转义它。

请参阅regex demo

请注意@revo关于使用key对象event属性的潜在问题的评论(不能保证它适用于移动设备)。

对于问题的第二部分,您可以尝试

^[^\W_]+(?:[\s.,'-][^\W_]+)*$

参见9regex演示](https://regex101.com/r/q6LoSE/3