我想建立一些正則表達式來驗證c#wpf上的文本框。我建立以下以驗證數字從6到3600:15-250正則表達式驗證
^([6-9]|[1-9][0-9]{1,2}|[12][0-9]{3}|3[0-5][0-9]{2}|3600)$
現在我需要從15到250,我對新的正則表達式來驗證,我有一個很難得到它。
感謝
我想建立一些正則表達式來驗證c#wpf上的文本框。我建立以下以驗證數字從6到3600:15-250正則表達式驗證
^([6-9]|[1-9][0-9]{1,2}|[12][0-9]{3}|3[0-5][0-9]{2}|3600)$
現在我需要從15到250,我對新的正則表達式來驗證,我有一個很難得到它。
感謝
直接翻譯過來應該是:
^(1[5-9]|[2-9][0-9]|1[0-9]{2}|2[0-4][0-9]|250)$
分手是1[5-9]
或15-19,[2-9][0-9]
或20-99,1[0-9]{2}
或200-199,2[0-4][0-9]
或100-249,250
。
這對我有用!謝謝! – user3614070 2015-03-31 18:35:13
你想從6驗證的數量 - 3600,另有15 - 250?爲什麼不把數字轉換爲int並檢查最小和最大?
看看下面的正確實施WPF https://msdn.microsoft.com/en-us/library/ms753962%28v=vs.110%29.aspx
這不是一個答案... – 2015-03-31 18:13:17
同意,但它的答案走在一個不同的方向比使用正則表達式進行數字驗證。 – Marko 2015-03-31 18:14:02
這裏確認是Matching Numeric Ranges with a Regular Expression
很好看的正則表達式爲15至250將
^(1[5-9]|[2-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|250)$
該鏈接應該成爲你答案的核心(總結關鍵點,以便答案是獨立的),而不是事後的想法。 – IMSoP 2015-03-31 18:20:41
@IMSoP: - 用正則表達式更新了我的答案! – 2015-03-31 18:25:13
以下正則表達式應該滿足15-250範圍內的所有數字。然而,正如我在評論中提醒你,一個的NumericUpDown是這種東西遠遠優於選擇:
\b(2[0-4]\d)|(1\d\d)|(250)|([2-9]\d)|(1[5-9])\b
dotNet這適用於小於15的值,但對於高於250的值不起作用。 – user3614070 2015-03-31 18:31:38
@ user3614070: - 更新了正則表達式。用正則表達式來檢查我的答案! – 2015-03-31 18:34:08
爲什麼不直接使用'int.TryParse'並檢查整數? – axblount 2015-03-31 18:12:41
正則表達式不用於此! – 2015-03-31 18:12:53
數字上傳會更好。 – dotNET 2015-03-31 18:14:50