我需要一个正则表达式来检查字段是空的还是正好是13位?
此致 Francis P。
答案 0 :(得分:15)
试试这个(see also on rubular.com):
^(\d{13})?$
说明:
^
,$
是字符串锚点的开头和结尾\d
是数字的字符类{13}
是完全有限的重复?
是“零或一”,即可选上述模式匹配13个字符串或空字符串,即长度为零的字符串。如果“空”表示“空白”,即可能只包含空格字符,则可以使用\s*
作为替换。简单来说,轮换就是如何匹配this|that
。 \s
是空白字符的字符类,*
是“零或更多”重复。
所以也许这样(see also on rubular.com):
^(\d{13}|\s*)?$