2014-01-28 30 views
0

我在網頁上有一個文本框。我希望它只接受小數點前十位和小數後四位小數。如123456789.1234而且還允許.121等等正則表達式在文本框中的十進制

這是我目前使用的是什麼允許的十進制

所有不同的變化[+ - ]?\ d +(。 ?\ d *)|?\ d +

要添加的最大無數字不準,我沿着這

[+ - ]行思考的東西\ d {0, 15} +(\ d {0,1 4})?|。\ d {0,4} +

但是當我嘗試使用它時,出現錯誤parsing "[+-]?\d{0,15}+(\.\d{0,4})?|\.\d{0,4}+" - Nested quantifier +.

回答

4

{n,m}是一個量詞。因此,你不應該在其後加上另一個量詞(+)。

嘗試:

[+-]?\d{0,15}(\.\d{0,4})?|\.\d{0,4} 

你的月經應該進行轉義。


正如一個側面說明,{n,m}+在某些正則表達式引擎有效的量詞,它表示一個佔有慾行爲。

+0

所以{1,15}替換\ d之後的+號? – Noelle

+0

@Noelle「{0,15}」,是的。如果你至少需要一位數字,當然,你需要使用'{1,15}'。 – Jerry