【问题标题】:regex doesnt allow spaces [duplicate]正则表达式不允许空格[重复]
【发布时间】:2016-10-08 15:54:59
【问题描述】:

这部分正则表达式可以帮助我验证 IBAN 号码,但它不允许有空格。有些人在他们的 IBAN 号码中添加空格,这会影响验证。

我怎样才能让它在字符串的任何地方都有空格?

if (preg_match('/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/', $iban)) {
  // do something
}

【问题讨论】:

  • 为什么不先去掉空格,再验证?
  • 您的问题的简单答案是preg_match('/^[A-Z ]{2}[0-9 ]{2}[A-Z0-9 ]{1,30}$/', $iban) - 在每个字符类中插入一个空格[]。但也许你应该检查@SilentMonk 链接的问题。
  • @ClasG 这不正确
  • @ClasG:你的正则表达式匹配A A
  • OP 当然意味着 additional 空格,您的正则表达式匹配空格代替字符

标签: php regex


【解决方案1】:
if (preg_match('/^[A-Z]{2}[0-9]{2}[A-Z0-9]{1,30}$/', str_replace(' ', '', $iban))) {
  // do something
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-03
    • 2012-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-16
    • 1970-01-01
    • 2012-10-09
    相关资源
    最近更新 更多