【问题标题】:JSF telephone numbers regular expressionJSF 电话号码正则表达式
【发布时间】:2013-05-26 05:31:11
【问题描述】:

我正在使用 JSF 的 primefaces,我正在对输入的电话号码进行正则表达式检查,可接受的值为:

909888 +90877845

这是我的代码

<p:inputText validatorMessage="invalid value">
   <f:validateRegex pattern="^[+]?[0-9]+$" />
</p:inputText>

我的问题是表达式没有传递空值,因为该字段不是必需的

【问题讨论】:

    标签: regex validation jsf


    【解决方案1】:

    你真的很接近,你需要用()?包围整个比赛。这意味着正则表达式将需要匹配整个内部 1 或 0 次。空白字符串将针对 0 进行验证,而您的 +#### 将在该模式匹配一​​次的时间进行验证。

    ^([+]?[\d]+)?$ 应该可以工作,它也使它更容易阅读,因为\d 表示任何数字,但0-9 应该可以正常工作。我对你的价值观和新增的here做了一些测试。

    此外,如果有特定的数字计数可以在范围内(即,如果数字长度在 6 到 8 之间有效),您可以将 [\d]+ 修改为 [\d]{x,y},其中 x 和 @987654330 @ 是您的最小/最大长度要求。

    【讨论】:

    • @Smartdog 修正了答案并更新了我所做的示例测试,使其更加健壮。新的更改应该会起作用。
    • 这很奇怪..我之前试过你的回答,但没有成功..很高兴终于成功了,谢谢
    猜你喜欢
    • 2017-09-23
    • 2014-02-15
    • 2016-02-02
    • 2011-12-14
    • 1970-01-01
    • 2015-07-20
    相关资源
    最近更新 更多