如何在Parsley.js中处理数字的十进制和千位分隔符?

时间:2015-05-27 21:48:57

标签: parsley.js

我可以看到Parsley.js处理数字的英文分隔符。

当我使用西班牙语数字的Parsley时它不起作用(例如:5,50不是Parsley的有效数字,在我的国家逗号是我们的小数分隔符。)

是否有一些配置可以改变它?

2 个答案:

答案 0 :(得分:5)

您需要创建符合您需求的必要正则表达式。一个(可能是基本的)正则表达式将是^\d+(,\d+)?$,它与逗号匹配任何数字或数字。

您甚至不需要创建custom validator,因为Parsley允许您使用接收正则表达式的data-parsley-pattern



<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.0.7/parsley.min.js"></script>
<form data-parsley-validate>
  <input type="text" name="commaNumbers" data-parsley-pattern="^\d+(,\d+)?$" />
  <input type="submit" />
</form>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

我知道已经晚了,但是此解决方案也对我有帮助。我刚刚修改/更改了Luis Cruz代码中的模式,以便该字段可以处理小数位。 (例如1,000,000,000.30)

希望这也有帮助。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/parsley.js/2.0.7/parsley.min.js"></script>
<form data-parsley-validate>
  <input type="text" name="commaNumbers" data-parsley-pattern="^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$" required/>
  <input type="submit" />
</form>