我需要添加一些驗證字段,允許用戶輸入數字0的單個實例或只允許爲數字的10到11位數的電話號碼。RegularExpressionValidator with Or語句
我已經想出了通過在線測試儀下面的正則表達式,這似乎工作:
^0 {1} $ |^\ d {10,11} $
但是當我用它在我的代碼是這樣的:
foo= new RegularExpressionValidator()
{
ControlToValidate = controlID,
ValidationExpression = @"^0{1}$|^\d{10,11}$",
ErrorMessage = "Invalid input.",
Display = ValidatorDisplay.Dynamic
};
驗證永遠不會觸發。以前它只是檢查確保它是一個只有10到11位數字的電話號碼,並且它工作正常,但添加零件也允許數字0的單個實例導致它永遠不會觸發。
那麼我怎麼能得到這個處理?
編輯:所以我只是做了一些額外的測試。它實際上似乎工作,但如果我完全空白領域它不會開火。現在我更加困惑......
可以縮短你的正則表達式來'^ 0 $ |^\ d {} 10,100 $' - '{1}'什麼也不做的正則表達式。 – Samadi
也許:'@「^(?: 0 | \ d {10,11})$」,' –
@Samadi Gotcha,你可能想編輯你的評論,因爲你在最後一位做了10,100,而不是10 ,11。複製它來測試,它嚇壞了我,看看我能超越11位數字。 :P – MattD