有誰知道如何檢查文本框中是否有非字母字符?Windows Phone TextBox驗證
如果在文本框中的任何符號或數字等 - 我想做一個:
MessageBox.Show("Please enter only letters");
任何幫助,高度讚賞。
有誰知道如何檢查文本框中是否有非字母字符?Windows Phone TextBox驗證
如果在文本框中的任何符號或數字等 - 我想做一個:
MessageBox.Show("Please enter only letters");
任何幫助,高度讚賞。
在文本框的KeyPress事件中,可以檢查字符是否是字母,如果不是,則取消按鍵。這是未經測試的,但應該工作。
private void YourTextbox_KeyPress(Object sender, KeyPressEventArgs e)
{
if(!char.IsLetter(e.KeyChar))
{
e.Handled = true;
MessageBox.Show("Please enter only letters");
}
}
基本上你正在和測試,如果字符是字母,如果是,則允許按鍵要經過操作系統,否則取消按鍵(由e.Handled
屬性設置爲true
)。
現在,用戶可以通過粘貼包含非字母字符的文本來繞過這一點,所以它比安全性更適合用戶更好的體驗。要在用戶點擊提交按鈕後執行驗證,您可以使用遍歷字符串來確定是否有任何非字母字符。因此,在您提交的事件,你可以有這樣的事情:
for(int i = 0; i < YourTextbox.Text.Length; i++)
{
if(!char.IsLetter(YourTextbox.Text[i])
{
MessageBox.Show("Please enter only letters");
break;
}
}
您也可以處理TextChanged以識別複製粘貼。 – 2012-04-09 04:21:25
看看RegularExpressions:http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.95).aspx – 2012-04-08 16:58:31
你可以設置鍵盤只允許信嗎? – 2012-04-08 17:00:08