只能輸入漢字!!!
要引用命名空間 using System.Text.RegularExpressions; private void txtUserName_KeyPress(object sender, KeyPressEventArgs e) { Regex rg = new Regex("^[\u4e00-\u9fa5]$"); //正則表達式 if (!rg.IsMatch(e.KeyChar.ToString()) && e.KeyChar != '\b') //'\b'是退格鍵 { e.Handled = true; } }
//寫在keydown事件下 TextBox txt = sender as TextBox; //屏蔽非法按鍵 if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) )//自己改建 { e.Handled = false; } else if (((e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key == Key.OemPeriod) && e.KeyboardDevice.Modifiers != ModifierKeys.Shift) { e.Handled = false; } else { e.Handled = true; } //寫在textchange事件下 TextBox textBox = sender as TextBox; TextChange[] change = new TextChange[e.Changes.Count]; e.Changes.CopyTo(change, 0); int offset = change[0].Offset; if (change[0].AddedLength > 0) { double num = 0; if (!Double.TryParse(textBox.Text, out num)) { textBox.Text = textBox.Text.Remove(offset, change[0].AddedLength); textBox.Select(offset, 0); } }
private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { //只允許輸入0~9中間的數字,你可以修改允許輸入的字符的e.keychar值達到你的需求 。 if (e.KeyChar >= '0' && e.KeyChar<='9' ) { e.Handled = false; return; } else { e.Handled = true; } }
//限制輸入不能為中文和全角 private void zhbh_KeyPress(object sender, KeyPressEventArgs e) { int chfrom = Convert .ToInt32("4e00", 16); //范圍(0x4e00~0x9fa5)轉換成int(chfrom~chend) int chend = Convert .ToInt32("9fa5", 16); if (e.KeyChar >= (Char )chfrom && e.KeyChar <= (Char)chend) { e.Handled = true; } if (e.KeyChar >= (Char )65281 & (int)e.KeyChar <= ( Char)65374) { e.Handled = true; } } //*******以下方法需在文本框的KeyPress方法下調用 //限制輸入只能為數字 private void wz_qsh_KeyPress(object sender, KeyPressEventArgs e) { if (!(Char .IsNumber(e.KeyChar)) && e.KeyChar != (Char)8) { e.Handled = true; } } /** * 限制只能輸入數字和小數點 * */ public void validationOnlyFloat(KeyPressEventArgs e, TextBox t) { if (((int )e.KeyChar < 48 || (int)e.KeyChar > 57) && ( int)e.KeyChar != 8 && (int )e.KeyChar != 46) e.Handled = true; //小數點的處理。 if ((int )e.KeyChar == 46) //小數點 { if (t.Text.Length <= 0) e.Handled = true; //小數點不能在第一位 else { float f; float oldf; bool b1 = false , b2 = false; b1 = float.TryParse(t.Text, out oldf); b2 = float.TryParse(t.Text + e.KeyChar.ToString(), out f); if (b2 == false ) { if (b1 == true ) e.Handled = true; else e.Handled = false; } } } }
驗證電話號碼的主要代碼如下:
public bool IsTelephone(stringstr_telephone)
{
returnSystem.Text.RegularExpressions.Regex.IsMatch(str_telephone,@"^(\d{3,4}-)?\d{6,8}$");
}
驗證手機號碼的主要代碼如下:
public bool IsHandset(string str_handset)
{
returnSystem.Text.RegularExpressions.Regex.IsMatch(str_handset,@"^[1]+[3,5]+\d{9}");
}
驗證身份證號的主要代碼如下:
public bool IsIDcard(stringstr_idcard)
{
returnSystem.Text.RegularExpressions.Regex.IsMatch(str_idcard,@"(^\d{18}$)|(^\d{15}$)");
}
驗證輸入為數字的主要代碼如下:
public bool IsNumber(stringstr_number)
{
returnSystem.Text.RegularExpressions.Regex.IsMatch(str_number,@"^[0-9]*$");
}
驗證郵編的主要代碼如下:
public boolIsPostalcode(string str_postalcode)
{
returnSystem.Text.RegularExpressions.Regex.IsMatch(str_postalcode,@"^\d{6}$");
}
//檢測手機號碼是否合法 private bool CheckPhoneIsAble(string input) { if(input.Length<11) { return false; } //電信手機號碼正則 string dianxin = @"^1[3578][01379]\d{8}$"; Regex regexDX = new Regex(dianxin); //聯通手機號碼正則 string liantong = @"^1[34578][01256]\d{8}"; Regex regexLT = new Regex(dianxin); //移動手機號碼正則 string yidong = @"^(1[012345678]\d{8}|1[345678][012356789]\d{8})$"; Regex regexYD = new Regex(dianxin); if (regexDX.IsMatch(input) || regexLT.IsMatch(input) || regexYD.IsMatch(input)) { return true; } else{ return false; } } ---------------------
用textbox的keypress事件,然后判斷 if((e.keychar<'0'&&e.keychar!=8)||e.keychar>'9') e.handled=true; 這是只能輸入0-9之間的數字的,並且能接受回車鍵 C#用法: textbox文本框的ID:txt_value 漢字: /^[\u4e00-\u9fa5]+$/。 using System.Text.RegularExpressions; //引用命名空間 string Reg_value= @"/^[\u4e00-\u9fa5]+$/"; //只能輸入漢文 if (!Regex.IsMatch(txt_value.Text.Trim(), Reg_value)) { txt_value.Focus(); return ; } //這是實現只能輸入數字0-9,還有字母A-Z,a-z的 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar <= '9' && e.KeyChar >= '0' || e.KeyChar <= 'Z' && e.KeyChar >= 'A' || e.KeyChar <= 'z' && e.KeyChar >= 'a') { e.Handled = false ; } else { e.Handled = true ; } }
1
2
3
4
5
6
7
8
9
10
11
12
|
using
System.Text.RegularExpressions;
Regex r =
new
Regex(
"^\\s*([A-Za-z0-9_-]+(\\.\\w+)*@(\\w+\\.)+\\w{2,5})\\s*$"
);
if
(r.IsMatch(jieta@sina.com))
{
MessageBox.Show(
"This is a true email"
);
}
else
{
MessageBox.Show(
"This is not a email"
);
}
|
if (this.txtEmail.Text.ToString().Trim() != "") { if (!System.Text.RegularExpressions.Regex.IsMatch(this.txtEmail.Text.ToString().Trim(), @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$")) { Msg.InfoBox("請輸入正確的郵箱格式!"); return false; } }
public bool IsEmail(string value) { return System.Text.RegularExpressions.Regex.IsMatch(value, @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"); }
1.驗證用戶名和密碼:("^[a-zA-Z]\w{5,15}$")正確格式:"[A-Z][a-z]_[0-9]"組成,並且第一個字必須為字母6~16位;
2.驗證電話號碼:("^(\d{3.4}-)\d{7,8}$")正確格式:xxx/xxxx-xxxxxxx/xxxxxxxx;
3.驗證身份證號(15位或18位數字):("^\d{15}|\d{18}$");
4.驗證Email地址:("^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$");
5.只能輸入由數字和26個英文字母組成的字符串:("^[A-Za-z0-9]+$") ;
6.整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$
7.只能輸入數字:"^[0-9]*$"。
8.只能輸入n位的數字:"^\d{n}$"。
9.只能輸入至少n位的數字:"^\d{n,}$"。
10.只能輸入m~n位的數字:。"^\d{m,n}$"
11.只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
12.只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
13.只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
14.只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
15.只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
16.只能輸入長度為3的字符:"^.{3}$"。
17.只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。
18.只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。
19.只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。
20.驗證是否含有^%&',;=?$\"等字符:"[^%&',;=?$\x22]+"。
21.只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
22.驗證URL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
23.驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
24.驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。