正則表達式之判斷用戶註冊信息是否爲漢字、字母和數字

一般在寫用戶註冊模塊的時候都在對註冊的用戶名進行判斷,查看一下有沒有.!@#$%^&*()等這樣的特殊字符,註冊信息裏一般將這些字符視爲非法字符不允許註冊。怎麼進行判斷呢,這裏就用到了正則表達式了。

先來解釋一下下面幾個正則表達式:

String chinese = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$";                     /**這個正則表達式用來判斷是否爲中文**/

//用來用戶註冊。匹配由數字、26個英文字母或者下劃線組成的字符串
String username = "^\\w+$";                                                                       /**此正則表達式判斷單詞字符是否爲:[a-zA-Z_0-9]**/

String all  = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w]{2,10}$";                /**此正則表達式將上面二者結合起來進行判斷,中文、大小寫字母和數字,{2,10}字符的長度爲2-10**/

下面是一個完整的例子程序,經測試運行通過:

import java.util.regex.Pattern;

public class ReplaceAllTest {

	public static void main(String[] args){
		String chinese = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+{1}quot;; /**這個正則表達式用來判斷是否爲中文**/
		String username = "^\\w+{1}quot;;                              /**此正則表達式判斷單詞字符是否爲:[a-zA-Z_0-9]**/

		 /**此正則表達式將上面二者結合起來進行判斷,中文、大小寫字母和數字**/
		String all  = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D\\w]{2,10}{1}quot;;//{2,10}表示字符的長度是2-10
		Pattern pattern = Pattern.compile(all);
		boolean tf = pattern.matcher("12345").matches();
//		boolean tf = Pattern.matches(all, "劉塏l12廳要右見到");
		System.out.println(tf);
		
//		\\u4E00-\\u9FA5\\uF900-\\uFA2D是指漢字的Unicode編碼範圍
//		\w是指單詞字符:[a-zA-Z_0-9]
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章