常用的正则表达式

define(function (require, exports, module) {

var reg;

//数字
var check_integer = function (value) {
    reg = /^\d+$/;
    return reg.test(value);
};
//字母
var check_english = function (value) {
    reg = /^[a-zA-Z{1,}\ \,\.\?\:\\\/\*\#\@\$\&\^\(\)\[\]\{\}\<\>\;\'\"\!\-\=\_\+\|\t]+$/;
    return reg.test(value);
};
//中文
var check_chinese = function (value) {
    var trim_value = value.replace(/s+/g, "");
    //除汉字外,标点符号也能过
    reg = /^[\u4E00-\u9FA5\u3002\uff1b\uff0c\uff1a\u201c\u201d\uff08\uff09\u3001\uff1f\u300a\u300b,\.;\-_\?]*$/;
    return reg.test(trim_value);
};
//手机号码
var check_mobile = function (value) {
    reg = /^(((13)|(15)|(18))+\d{9})$/;
    return reg.test(value);
};
//email
var check_email = function (value) {
    reg = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    return reg.test(value);
};
//不限
var check_none = function (str) {
    return true;
}

var checkregex = {
    getmethod: function (value, type) {
        var enum_method = {
            "none":check_none(value),
            "number": check_integer(value),
            "alphabet": check_english(value),
            "chinese": check_chinese(value),
            "email": check_email(value),
            "mobile": check_mobile(value)
        };
        return enum_method[type];
    },
    check_val: function (value, type) {
        switch (type) {
            //不限
            case "1":
                return  this.getmethod(value, "none");
                break;
            //数字
            case "2":
                return  this.getmethod(value, "number");
                break;
            //字母
            case "3":
                return this.getmethod(value, "alphabet");
                break;
            //中文
            case "4":
                return  this.getmethod(value, "chinese");
                break;
            //邮箱
            case "5":
                return this.getmethod(value, "email");
                break;
            //手机号码
            case "6":
                return  this.getmethod(value, "mobile");
                break;
            default:
                return  this.getmethod(value, "none");
                break;
        }
    }


};
module.exports = checkregex;

});