首页 > 代码库 > 实例365(9)---------正则表达式之常见数字验证技巧

实例365(9)---------正则表达式之常见数字验证技巧

一:使用正则表达式验证电话号码,截图

二:代码

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace ValidatePhone
{
    public partial class Frm_Main : Form
    {
        public Frm_Main()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (!IsTelephone(textBox1.Text))//验证电话号码格式是否正确
            { MessageBox.Show("电话号码格式不正确"); }//弹出消息对话框
            else { MessageBox.Show("电话号码格式正确"); }//弹出消息对话框
        }

        /// <summary>
        /// 验证电话号码格式是否正确
        /// </summary>
        /// <param name="str_telephone">电话号码信息</param>
        /// <returns>方法返回布尔值</returns>
        public bool IsTelephone(string str_telephone)
        {
            /* 
                ^
                表示开始匹配
             * 
                [a-zA-Z0-9]
                匹配单个字母字符(a到z或A)或数字字符。
             * 
                \d{2}
               匹配两个数字字符。
             * 
                -
               匹配一个连字符。
             * 
                \d{3}
               精确匹配三个数字字符。
             * 
                (-\d{3}){2}
                找一个连字符后跟三个数字字符,并匹配两次出现的这种模式
             * 
                $
                表示结束匹配
             * 
                *
                代表:0次或者多次 
             * 
                +
                代表:1次或者多次 
             * 
                ?
                代表:0次或者1次 
       *
        |
         代表:或者
        *
        /
         代表:正号
        *
        \
         代表:负号
*/

           
            return System.Text.RegularExpressions.//使用正则表达式判断是否匹配
                Regex.IsMatch(str_telephone, @"^(\d{3,4}-)?\d{6,8}$"); //3到4位区号,6到8位直播号码
        }
    }
}

三:相关的验证的正则表达式

密码必须由数字和26个英文字母组成的密码字符    @"[A-Za-z]+[0-9]"    

使用正则表达式验证邮政编号  @"^\d{6}$"

使用正则表达式验证手机号   @"^[1]+[3,5]+\d{9}$"

使用正则表达式验证身份证号  @"(^\d{18}$)|(^\d{15}$)"

使用正则表达式验证两位小数   @"^[0-9]+(.[0-9]{2})?$"

使用正则表达式验证一年的12个月份   @"^(0?[[1-9]|1[0-2])$"

使用正则表达式验证一个月的31天   @"^((0?[1-9])|((1|2)[0-9])|30|31)$"

使用正则表达式验证数字输入     @"^[0-9]*$"

使用正则表达式验证密码长度   @"^\d{6,18}$"

使用正则表达式验证非零的正整数   @"^\+?[1-9][0-9]*$"

使用正则表达式验证非零的负整数    @"^\-[1-9][0-9]*$"

使用正则表达式验证大写字母   @"^[A-Z]+$"

使用正则表达式验证小写字母   @"^[a-z]+$"