Regex 正则表达式以允许空字符串或具有特定长度的字符串

Regex 正则表达式以允许空字符串或具有特定长度的字符串,regex,Regex,您好,我在尝试创建一个正则表达式时遇到了问题,该正则表达式允许我将字段设置为空,或者在填充时设置长度为9的字符串 当前正则表达式im使用的是:^[0-9]{9} 如果该字段是必填字段,则该选项有效,但是我们有一个新的要求,即该字段也可以为空。我试过^[0-9]{0|9},但显然不起作用 提前谢谢 ^(|[0-9]{9})$ 我们应该做到这一点 编辑:但要认真;按照@Felix Kling在评论中的建议执行:通过.length属性、.equals(“”或类似属性测试字符串。只需进行正常字符串比较

您好,我在尝试创建一个正则表达式时遇到了问题,该正则表达式允许我将字段设置为空,或者在填充时设置长度为9的字符串

当前正则表达式im使用的是:
^[0-9]{9}

如果该字段是必填字段,则该选项有效,但是我们有一个新的要求,即该字段也可以为空。我试过
^[0-9]{0|9
},但显然不起作用

提前谢谢

^(|[0-9]{9})$
我们应该做到这一点


编辑:但要认真;按照@Felix Kling在评论中的建议执行:通过
.length
属性、
.equals(“”
或类似属性测试字符串。

只需进行正常字符串比较,以测试值是否为空。这里不需要正则表达式。@FelixKling需要JS,但不能与@Pumbaa80一起使用:为什么您认为该表达式用于JavaScript甚至HTML的上下文中?问题中没有这方面的迹象。对。我想说的是,除了正则表达式之外,用其他方法测试空字符串可能是不可能的。太好了,谢谢Jensgram。不确定这是否是因为我开发的应用程序,但它不允许我使用该表达式。然而,在你的正则表达式中使用一点,它就起作用了。干杯^(|\d{9})$@Redseven很棒。没有意识到这与HTML5的
模式
属性有关。