﻿/**
 * Validater类
 * @id Validater
 * @author K
 */
Validater = function(){
    return{	
        /**
        * 验证是否非空
        * @id Validater.prototype.isNotEmpty
        * @author K
        * @param {String} p_string 需验证的字符串（请先过滤首尾空格）
        * @return {Boolean} 通过为true，否则为false
        */
	    isNotEmpty: function(p_string) {
		    if (typeof(p_string) == "undefined" || p_string.length < 1) {
			    return false;
		    }
		    return true;
	    },
		
         /**
         * 验证是否合法正整数
         * @id Validater.prototype.isRightfulInt
         * @author K
         * @param {String} p_string 需验证的字符串
         * @return {Boolean} 通过为true，否则为false
         */
	    isRightfulInt: function(p_string) {
		    var m_rule = /^[0-9]{1,20}$/;
		    return m_rule.test(p_string);
	    },
		
        /** 
        * 验证是否合法数字(含负数、小数)
        * @id Validater.prototype.isRightfulNumber
        * @author K
        * @param {String} p_string 需验证的字符串
        * @return {Boolean} 通过为true，否则为false
        */
        isRightfulNumber: function(p_string) {
		    var m_rule = /^[-]?\d+(\.\d+)?$/;
		    return m_rule.test(p_string);
	    },
		
        /** 
        * 验证是否合法Email地址
        * @id Validater.prototype.isRightfulEmail
        * @author K
        * @param {String} p_string 需验证的字符串
        * @return {Boolean} 通过为true，否则为false
        */
	    isRightfulEmail: function(p_string) {
		    var m_rule = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
		    //[Burchin] m_rule = /^(?:\w+\.?)*\w+@(?:\w+\.?)*\w+$/;
		    return m_rule.test(p_string);
	    },
		
        /** 
        * 验证是否合法Url
        * @id Validater.prototype.isRightfulUrl
        * @author K
        * @param {String} p_string 需验证的字符串
        * @return {Boolean} 通过为true，否则为false
        */
	    isRightfulUrl: function(p_string) {
		    var m_rule = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
		    //[Burchin] m_rule=/(http\:\/\/)?([\w.]+)(\/[\w- \.\/\?%&=]*)?/gi;
		    return m_rule.test(p_string);
	    },
	    
        /** 
        * 验证是否合法用户名 以字母开头，可由字母、数字、“.”、“_”组成，共5到20个字符
        * @id Validater.prototype.isRightfulUserName
        * @author K
        * @param {String} p_string 需验证的字符串
        * @return {Boolean} 通过为true，否则为false
        */
	    isRightfulUserName: function(p_string) {
		    var m_rule = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
		    return m_rule.test(p_string);
	    },
        /** 
        * 验证是否全中文
        * @id Validater.prototype.isRightfulChinese
        * @author K
        * @param {String} p_string 需验证的字符串
        * @return {Boolean} 通过为true，否则为false
        */
	    isRightfulChinese: function(p_string) {
		    var m_rule = /^[\u0391-\uFFE5]+$/;
		    return m_rule.test(p_string);
	    }		
    }
}();
