2014-01-27 41 views
1

我对QML/JavaScript的一些输入验证使用下面RegExpValidator代码工作:RegExpValidator带号码。两位小数

RegExpValidator { regExp: /^[0-9\.\,]{1,6}$/ } 

有没有什么办法可以让用户最多前3个数字。然后在1或2之后呢? 所以这将工作:10 10.1 10.11 100.1 100.11 10,11 但这些不会工作:1000 100.111等

我试过Google搜索它,但不介意太多。

谢谢:)

回答

2

试试这个:

^(\d{1,2})([\.|,]\d{1,2})?$ 
+0

谢谢:)按预期工作 – user1031204

+0

没问题。如果你想提取部分数字,解决方案可能需要修改一点。否则,如果它匹配,这是好的 – user1168095

+0

您将要删除字符类'[\。|,]'中的管道,否则它允许像23 | 23这样的东西。 – joadha

2

警告:这是未经测试的。试一试。您也可以用\d代替[0-9],这是数字的简写。

RegExpValidator { regExp: /^[0-9]{0,3}([\.\,][0-9]{1,2})?$/ } 
+0

此致做了工作,但不知什么原因期待。或者,如果没有他们分开,并不会工作,所有的好:) – user1031204

+0

啊,是的,这是因为我没有量化指定'。'的部分。要么 ','。我会很快编辑这个。它可能会非常接近user1168095的答案。 – joadha