正则表达式不适用于 xeditable angular 指令

Regular expression is not working on xeditable angular directive

我正在使用 xeditable angular 指令。我需要在我的字段之一中使用正则表达式来验证 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

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

使用这个正则表达式:

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

demo

我补充说:

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

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

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

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

demo