2012-10-29 47 views
1

我很難爲0-15的數字輸入組合正則表達式。1-15的正則表達式?

我已經試過這樣表達:

^([9]{1,1}|[0-1][0-5])$ 

<asp:FilteredTextBoxExtender ID="TMPFiltered" runat="server" FilterMode="ValidChars" 
               FilterType="Custom" ValidChars^([9]{1,1}|[0-1][0-5])$" TargetControlID="txtTMP" /> 

但它是允許超過15哪裏是我的語法不正確更高的最大值?任何幫助表示讚賞,謝謝。

+5

你爲什麼要使用正則表達式? –

+1

不要使用數學正則表達式 – Bergi

+0

它不適用於數學,我從來沒有說過。這是一個編輯擴展器。 – Ted

回答

2

你幾乎有

^([1-9]|1[0-5])$是你所需要的

的只改變我在你的正則表達式[9]{1,1}[1-9] ..不需要{1,1},因爲它已經匹配1時間在[9]

+0

幾乎工作!然而,它允許在兩個數字位置5和9。 – Ted

+0

是的,但這個表達式允許50,51,52,53等和90,91,92,93等... – Ted

+0

這正是我所擁有的: Ted

3

正則表達式不是正確的解決方案,您應該嘗試將字符串轉換爲int,如果成功,請確保結果在您想要的範圍內。

話雖這麼說,這裏是應該工作正則表達式:

^(1[0-5]?|[2-9])$ 

與您當前的正則表達式的主要問題是,錨僅適用於交替的左側,所以你會匹配字符串匹配[0-1][0-5]正則表達式中的任何位置。您還沒有在當前的正則表達式任何方式只是從2至8

例匹配數字:http://www.rubular.com/r/HUNZZymzFW

+0

工作不正常...仍然允許第一個數字去1-9。 – Ted

+0

@特德我不這麼認爲;除非第一位數字是唯一的數字,當然。 – sidyll

+0

它可能是FilteredTextBoxExtender控件?我正在使用你的確切表達... – Ted

4

T RY這樣的:

^([0]?[1-9]|1[0-5])$ 

或者試試這個,如果你不想匹配,如「07」

^([1-9]|1[0-5])$ 
相關問題