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;
}
}