function SafeValidate(){
	this.arr = [		
		/\u6d2a([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5fd7+/,
		/\u6cd5([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u8f6e([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u529f+/,
		/\u771f([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5584([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5fcd+/,
		/\u5317([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u4eac([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5f53([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5c40+/,
		/\u8fbe([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u8d56+/,
		/\u5927([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u53c2([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u8003+/,
		/\u5927([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u7eaa([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5143+/,
		/\u72ec([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u88c1([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u653f([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u6cbb+/,
		/\u516d([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u56db+/,
		/\u6e38([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u884c+/,
		/\u6cd5([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u8f6e+/,
		/\u771f([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5584([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5fcd+/,
		/\u8f6e([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u529f+/,
		/\u5927([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u6cd5+/,
		/\u9e21([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5df4+/,
		/\u64cd([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u4f60+/,
		/\u793a([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5a01+/,
		/\u8d75([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u7d2b([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u9633+/,
		/\u6c5f([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u6cfd([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u6c11+/,
		/\u5927([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u7eaa([\w\s-_\~!@#\$%\^&\*\.\(\)\[\]\{\}<>\?\\\/\'\"]*)\u5143+/,
		/zhuanfalun+/
	];
	this.validate = function(s){		
		for(var i=0; i < this.arr.length; i++){
			if(this.arr[i].test(s)){
				return false;
			}	
		}	
		return true;
	}
	this.getSafeRule = function(s){
		var arr = s.split(",");
		var rs = "";
		for(var i=0; i<arr.length; i++)
			rs += getRule(arr[i]);	
		return rs;
	}
	
	
}

function getRule(s){
	var len=s.length; 
	var result ="/"; 
	for(var i=0;i<len;i++){
		var m = s.charCodeAt(i);		
		var s1 = toHex(m);
		if(result.length > 1)
		   result += "([\\\w\\\s-_\\\~!@#\\\$%\\\^&\\\*\\\.\\\(\\\)\\\[\\\]\\\{\\\}<>\\\?\\\\\\\/\\\'\\\"]*)";
		result += "\\u" + s1;
	} 
	result += "+/,\n";
	return result; 
}

/**
 *   中文转为unicode
 */
function unicode(s){ 
	var len=s.length; 
	var result =""; 
	for(var i=0;i<len;i++){ 
		//var k=s.substring(i,i+1); 		
		var m = s.charCodeAt(i);		
		//rs+="&#"+s.charCodeAt(i)+";"; 
		var s1 = toHex(m) + "";
		result += "\\u" + s1;
	} 
	return result; 
} 

function toHex(s){
	var m = parseInt(s);
	return m.toString(16);
}

/**
 * Unicode转中
 */
function runicode(s){ 
	var k=s.split(";"); 
	var rs=""; 
	for(i=0;i<k.length;i++){ 
		var m=k.replace(/&#/,""); 
		rs+=String.fromCharCode(m); 
	} 
	return rs; 
} 


