2014-01-27 79 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