Contents ...
udn網路城邦
[Java] Regular Expression 檢查範例
2008/05/25 22:11
瀏覽2,042
迴響0
推薦0
引用0

/** * 驗證輸入字串的格式
* regPattern: 檢驗的格式 (Regular Expression)
* strForTest: 要被檢驗的字串
* @param String
* @param String
* @author lupin
* */
public boolean validateInput(String strPattern, String strForTest){
boolean isMatch = strForTest.matches(strPattern);
return isMatch;
}

/**
* 檢查字串是否為數字
* @param String
* @author lupin
* */
public static boolean validateNumber(String strForTest){
return validateInput("^[0-9]*$" , strForTest);
}

/**
* 檢查字串是否為 Email格式
* @param String
* @author lupin
* */
public static boolean validateMail(String strForTest){
return validateInput("^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$", strForTest);
}

/**
* 檢查字串是否有SQL會使用到的符號
* @param String
* @author lupin
*/
public boolean validateSQLKey(String strTest){
    StringBuffer ruleStartPoint = new StringBuffer(".*[");
    StringBuffer ruleStar = new StringBuffer("\\Q*\\E");
    StringBuffer rule2Dash = new StringBuffer("\\Q--\\E");
    StringBuffer ruleSQuot = new StringBuffer("\\Q'\\E");
    StringBuffer ruleDQuot = new StringBuffer("\\Q\"\\E");
    StringBuffer rulePercent = new StringBuffer("\\Q%\\E");
    StringBuffer ruleAnd = new StringBuffer("\\Q&\\E");
    StringBuffer ruleQst = new StringBuffer("\\Q?\\E");
    StringBuffer ruleEndPoint = new StringBuffer("].*");
        
    StringBuffer sbRule = new StringBuffer();
    sbRule.append(ruleStartPoint).append(ruleStar).append(rule2Dash).append(ruleSQuot).append(ruleDQuot).append(rulePercent).append(ruleAnd).append(ruleQst).append(ruleEndPoint);
    String rule = sbRule.toString();

    return validateInput(rule, strTest);
}

全站分類:知識學習 其他
自訂分類:JavaSE
上一則: [Java] 取得 某個資料夾下的檔案清單
下一則: [Java] 亂數密碼
發表迴響

會員登入