2019-2-12 正則表達式驗證手機號


只能輸入漢字!!!
要引用命名空間
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"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM