2019年12月16日 星期一

[C#]正則表式


 /// <summary>
    /// 是否是有小數(不論正負)
    /// </summary>
    /// <param name="examine"></param>
    /// <returns></returns>
    public static bool IsFloat(string examine)
    {
        bool chk = false;
        if (!string.IsNullOrEmpty(examine))
        {
            Regex NumberPattern = new Regex(@"^(-[0-9]*|[0-9]*)$|^(-[0-9]*|[0-9]*)(\.{1}\d*)$");
            chk = NumberPattern.IsMatch(examine);
        }
        return chk;
    }



    public static bool getRegex(string examine, string regex)
    {

        Regex NumberPattern = new Regex(regex);
        return NumberPattern.IsMatch(examine);
    }

因為
c#並無判斷數字的功能,但網頁上 使用的正則正需求不符,還是自己寫比較快

"^(-[0-9]* | [0-9]*)$  | ^(-[0-9]* | [0-9]*)(\.{1}\d*)$" 
^ :開頭 表示 
:結束
|  :或是
*:無限次重覆
 ( ): 類似範圍

"^(-[0-9]* | [0-9]*)$  | ^(-[0-9]* | [0-9]*)(\.{1}\d*)$" 

可以解釋為當數字是
"^(-[1-9]* | [0-9]*)$   整數 不論正負
 |   或是
^(-[0-9]* | [0-9]*)(\.{1}\d*)$"   小數點 不論正負

沒有留言:

張貼留言