1. 程式人生 > >C# Regex.IsMatch (正則表示式驗證:數字、小數點、郵件、計算表示式)

C# Regex.IsMatch (正則表示式驗證:數字、小數點、郵件、計算表示式)

public bool isInt(string str)
        {
            //^([+-]?)表示加減號只能出現在字串開頭且只有一位
            ///d*表示後面可以有多個或一個十進位制數
            //$表示字串結尾
            return Regex.IsMatch(str, @"^([+-]?)/d*$");//返回只能以正負號開頭的整數
        }
        public bool isUnInt(string str)
        {
            //^([+-]?)表示加減號只能出現在字串開頭且只有一位
            ///d*表示後面可以有多個或一個十進位制數
            //$表示字串結尾
            return Regex.IsMatch(str, @"^/d*$");//返回整數
        }
        public bool isEmail(string str)
        {
            //郵件格式是字串@字串.字串(最後的字串限制為1到3位)
            return Regex.IsMatch(str, @"^([/w]*)([@]?)([/w]*)([.]?)([/w]{1,3})$");
        }
        public bool checkFloat(string svalue)
        {
            //檢查值是否為浮點數字,5位小數
            return Regex.IsMatch(svalue, @"^(/d*)([.]{0,1})(/d{0,5})$");
        }
        public bool isNumeric(string str)
        {
            //判斷是否是數值,有小數點
            return Regex.IsMatch(str, @"^([+-]?)/d*[.]?/d*$");
        }
        public bool IsValidEmail(string strIn)
        {
            // Return true if strIn is in valid e-mail format.
            return Regex.IsMatch(strIn, @"^([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)$");
        }

        public static bool checkString(string svalue)
        {
            if (Regex.IsMatch(svalue, @"^([0-9]{1,})(.*)([0-9]{1,})$"))
            {
                //如果表示式頭尾是數字
                //在檢查是否匹配運算子是不是加減乘除,如果不是返回真
                if (Regex.IsMatch(svalue, @"(([0-9]{1,})([/+/-/*//]{2,})([0-9]{1,}))|(([0-9]{1,})([^/+/-/*//]{1,})([0-9]{1,}))"))
                {
                    //表示表示式不合法
                    return false;
                }
                else
                {
                    return true;
                }
            }
            else
            {
                return false;
            }
        }