【问题标题】:Regular expression is not working on xeditable angular directive正则表达式不适用于 xeditable 角度指令
【发布时间】:2015-07-16 13:23:37
【问题描述】:

我正在使用xeditable 角度指令。我需要在我的一个字段中使用正则表达式来验证positive decimal values。但是,它无法正常工作。你能告诉我为什么吗?提前致谢。

示例值包括12,125.25

<span editable-text="user.name" e-form="tableform" e-pattern="/^\d+(\.\d{1,2})?$/">
                {{ user.name || 'empty' }}
 </span>

JSFiddle

【问题讨论】:

    标签: javascript regex angularjs x-editable


    【解决方案1】:

    您需要修复正则表达式,因为它现在不接受千位分隔符。

    使用这个正则表达式:

    ^\d{1,3}(?:,\d{3})*(\.\d{1,2})?$
    

    demo

    我补充说:

    • \d{1,3} - 匹配 1 到 3 位数字
    • (?:,\d{3})* - 匹配 0 个或多个 , + 3 个数字的序列。

    如果非捕获组不适合您,请删除 ?:

    如果您不想允许 0-only 输入(即数字仅由 0s 组成),请使用

    ^(?![0,.]+$)\d{1,3}(?:,\d{3})*(\.\d{1,2})?$
    

    demo

    【讨论】:

    • 此时我可以输入0 value。你能告诉我如何验证吗?
    • 您的意思是要禁止0-only 输入? Like this?
    • 是的,也就是说用户不能输入0值。值应该是&gt; 0
    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 2013-09-08
    • 2019-08-26
    • 1970-01-01
    相关资源
    最近更新 更多