为@Pattern构建一个简单的正则表达式

时间:2014-09-09 18:24:52

标签: regex validation

我需要验证一个应该代表门牌号的字符串。不幸的是,在我的国家(可能还有其他人),这些门牌号码可以包含数字和字母。因为这个我不能使用一个Integer,这将使这更容易验证。我一直在寻找解释,我实际上找到了很多,但我在抓住这个问题时遇到了很大的困难。因为我只需要一次(简单?)模式,我希望有人可以帮助我。

所以我真正需要的是一个正则表达式模式,它验证插入的字符串是否有任何数字(但可能最多为4)的正数后跟最多一个字母。这个的正确表达是什么?

2 个答案:

答案 0 :(得分:4)

所有你需要的是:

^\d{1,4}[a-zA-Z]?$

说明:

^\d{1,4}这是字符串开头的锚^,后跟1-4位

[a-zA-Z]?$这是任何字母,0或1次,在字符串的末尾($

答案 1 :(得分:1)

JavaScript RegExp notation中:

/^\d{1,4}\[A-Za-z]?$/

你可以像这样使用它:

if("2234B".match(/^\d{1,4}[A-Za-z]?$/) !== null) {
    // String matched, do something
}

说明:

  • ^表示"输入的开始",以确保您不允许在数字前面添加某些内容
  • \ d {1,4}表示" 1到4位"
  • [A-ZA-Z]?表示"零或一个任何字符"
  • $表示"输入结束",以确保您不允许在角色后面添加某些内容