【问题标题】:Regex for Home/House Address validation in EXTJSEXTJS 中家庭/家庭地址验证的正则表达式
【发布时间】:2016-12-26 15:48:06
【问题描述】:

我尝试了下面的正则表达式来验证房屋地址
请提出您的建议。

 ^[a-zA-Z0-9#][-:,#. /A-Za-z0-9][a-zA-z]$
^\d*[a-zA-Z#, .:-]+[a-zA-z0-9, #.:]*

 Example Address:
 #43,
 JohnStreet,
 Sidney,
 AUS

条件:

1.Door number must be 1-4 digits(ex: 1, 12, 56, 568, 5698, #12, #123, #1235)
 It should notbe like 123456, 132adfs
2.It should be like 
 809,
 Bangloore,
 Karnataka,
 India
3.We should't allow only numerics in complete address

【问题讨论】:

  • 你的正则表达式有什么问题? A-z 是一个错字,对吧?必须是[A-Za-z]
  • 它允许我在门牌号码中输入超过 4 位数字
  • 超过 4 个?您的模式仅匹配 3 个字符串(行)。
  • 我尝试了第二个正则表达式,也请查看第二个正则表达式
  • 我不明白:你想对所有行使用相同的正则表达式吗?

标签: regex regex-negation regex-lookarounds regex-greedy


【解决方案1】:

^#?\d+,\r?\n[a-zA-Z#, .:-]+,\r?\n[a-zA-Z#, .:-]+,\r?\n[a-zA-Z#, .:-]+$

  • ^ 字符串开头
  • #? 哈希(又名磅)字符。问号使其可选。
  • (?:[1-9]\d{0,3}) 1 到 9 之间的单个字符。然后是 0 到 9 之间的 0 到 3 位数字。

以上匹配#1#709999018但不匹配0988880-9981


  • ,\r?\n 行尾:一个逗号,一个可选的“回车”字符(您有时会在读取文件时看到它,服务器端),然后是一个“换行”字符
  • [a-zA-Z#, .:-]+ 字符集中的任何合法字符(我猜你理解那部分)。
  • ,\r?\n 行尾
  • [a-zA-Z#, .:-]+合法字符
  • ,\r?\n 行尾
  • [a-zA-Z#, .:-]+合法字符

  • $ 字符串结尾

【讨论】:

    猜你喜欢
    • 2013-10-12
    • 1970-01-01
    • 1970-01-01
    • 2023-02-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 2015-08-17
    相关资源
    最近更新 更多