正在尋找印度電話號碼的正則表達式印度電話號碼的正則表達式
正則表達式應該允許以下所有格式。
的座機沒有
0802404408
080-2404408
+91802404408
+91-802404408
移動沒有
8147708287
08147708287
+918147708287
+91-8147708287
誰能幫助我,在此先感謝
我的代碼是
[RegexValidator("[0-9 -]*"
, MessageTemplateResourceName = "INVALID_PHONE"
, MessageTemplateResourceType = typeof(ValidatioinErrors))]
public string Phone
{
get { return phone; }
set { phone = value; }
}
public bool IsValid()
{
return Validation.Validate<Class_name>(this).IsValid;
}
public ValidationResults ValResults
{
get
{
return Validation.Validate<Class_name>(this);
}
}
此驗證的事情我只是 在我的命名空間稱爲
using Microsoft.Practices.EnterpriseLibrary.Validation;
using Microsoft.Practices.EnterpriseLibrary.Validation.Validators;
,在表達做工精細的UI部分,但在如上後面的代碼,它顯示「無效的電話號碼」,如果我給的值080-2404408
你有什麼嘗試?堆棧溢出不是其他人爲你工作的網站。此外,對於那些不熟悉印度數字的人,您需要進一步解釋規則是什麼。具體需要多少位數字,哪些數字。 – Phrogz 2012-03-07 06:45:17
感謝Phrogz,我嘗試了數字格式的簡單表達式爲「[0-9 - ] *」,它似乎沒有錯誤,但是當我在後面的代碼中使用此表達式時(在我的業務對象中),並且如果將該值作爲「080-2404408」,條件不滿足並顯示錯誤。但如果我在設計部分使用它,它工作正常,我嘗試在網絡中ñ我只發現固定電話格式或移動,但我需要允許他們兩個,這是什麼問....很抱歉打擾你在這裏。 – shanish 2012-03-07 07:06:29
@Shanish,你的正則表達式'[0-9 - ] *'會匹配「080-2404408」。如果你得到一個錯誤,這個問題在別的地方。你已經[得到這個答案](http://stackoverflow.com/a/9495246/626273)! – stema 2012-03-07 07:30:55