简体   繁体   中英

Regex for 5 digit number with optional characters

I am trying to create a regex to validate a field where the user can enter a 5 digit number with the option of adding a / followed by 3 letters. I have tried quite a few variations of the following code:

^(\d{5})+?([/]+[A-Z]{1,3})? 

But I just can't seem to get what I want.

For instance l would like the user to either enter a 5 digit number such as 12345 with the option of adding a forward slash followed by any 3 letters such as 12345/WFE .

You probably want:

^\d{5}(?:/[A-Z]{3})?$

You might have to escape that forward slash depending on your regex flavor.

Explanation:

  • ^ - start of string anchor
  • \\d{5} - 5 digits
  • (?:/[AZ]{3}) - non-capturing group consisting of a literal / followed by 3 uppercase letters (depending on your needs you could consider making this a capturing group by removing the ?: ).
  • ? - 0 or 1 of what precedes (in this case that's the non-capturing group directly above).
  • $ - end of string anchor

All in all, the regex looks like this:

在此输入图像描述

你可以使用这个正则表达式

/^\d{5}(?:\/[a-zA-Z]{3})?$/
^\d{5}(?:/[A-Z]{3})?$

这是实践中(这是一个测试你的正则表达的好网站): http ://regexr.com?36h9m

^(\d{5})(\/[A-Z]{3})?

测试为rubular

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM