【发布时间】:2015-06-20 00:02:56
【问题描述】:
我被这个问题困住了。我有一个邮政编码的输入字段,但是,我们的数据库有很多邮政编码为 0 的记录。我目前在该字段上设置了一个正则表达式,以确保邮政编码为空或 5 位值.
但是,因此,如果您要更新值设置为“0”的记录,则会触发验证消息,因为它不是空字符串或 5 位字符串。我想让它能够接受所有这三种状态(空、“0”或 5 位数字)。
(^\s{0,5}$)|(^\d{5}$) - 这是我一直使用的空数字或 5 位数字,它似乎工作正常。
(^?:(\s{0}$)|(^?:(0){1}$|\d{5})$) - 我试过这个空的,“0”或5位数字,但它不起作用。我真的不知道发生了什么,我几乎不懂正则表达式。将不胜感激,谢谢!
【问题讨论】:
-
ReGex 用于匹配模式,你不能匹配不存在的东西——你应该使用
String.IsNullOrEmpty()。 -
5位数字可以是“00000”吗?
-
你的字段有空格吗?试试
(^\s{0,5}(?:0)?$)|(^\d{5}$)。