字串是否為數字及有效性檢查

2021-09-06 02:17:43 字數 1361 閱讀 1076

在編寫mfc窗體程式時,我們經常要判斷使用者輸入的乙個字串是否合法有效,以此來增強程式的健壯性。

最近,在測試系統的對話方塊的輸入時,發現存在大量這樣的問題,甚至有一些特定**的輸入還導致系統異常退出。

為了解決這些問題,我編寫下面這個標頭檔案,來判斷輸入的字串是否為數字,以及是否在有效範圍之內。

希望以下**對你有用!

#ifndef __ct3d__checkvalidval__h__

#define __ct3d__checkvalidval__h__

class cstringex

cstringex(const cstring& s)

virtual ~cstringex()

public:

bool isfloat()

if (m_dot_count>1) // ..23.

return false;

if (length==1 && (start_pos==1 || m_dot_count==1))// . or +

return false;

if (length==2 && start_pos==1 && m_dot_count==1) // +.

return false;

return true;

} bool isinterger()

if (length==1 && start_pos==1)// +

return false;

return true;

} bool isvalidfloat(double minval, double maxval, bool ishasmin=true, bool ishasmax=true)

bool isvalidinterger(int minval, int maxval, bool ishasmin=true, bool ishasmax=true)

};// 全域性函式

class cstringvalid

static bool cstringvalid::strisinterger(const cstring& s)

static bool cstringvalid::strisfloatvalid(const cstring& s, double minval, double maxval, bool ishasmin=true, bool ishasmax=true)

static bool cstringvalid::strisintergervalid(const cstring& s, int minval, int maxval, bool ishasmin=true, bool ishasmax=true) };

#endif

PHP的eregi函式 檢查字串的有效性

int eregi string pattern,string string,array regs eregi 函式在乙個字串搜尋指定的模式的字串。搜尋不區分大小寫。eregi 可以特別有用的檢查有效性字串,如密碼。可選的輸入引數規則包含乙個陣列的所有匹配表示式,他們被正規表示式的括號分組。如果匹配...

字串問題之 括號字串的有效性和最長有效長度

給定乙個字串 str,判斷是不是整體有效的括號字串 str true str a false 高階題目 給定乙個括號字串str,返回最長的有效括號子串 首先原問題的解決思路 各種判斷 遍歷判斷每個字元是不是 或 如果不是,false 遍歷到每乙個字元時,都檢查到目前為止 和 的數量,如果 多 返回f...

括號字串的有效性和最長有效長度

給定乙個字串s,判斷是不是整體有效的括號字串。例如 遍歷字串,記錄待匹配的 的個數count,遇到 count 1,遇到 count 1,如果過程中count 0,返回false。遍歷完成,且count恰好為0,返回true def is valid s if s is none orlen s 2...