﻿/**  
* @author grenlight 
*/
$(document).ready(function() {

    /**//* 设置默认属性 */
    $.validator.setDefaults({
        submitHandler: function(form) {
            form.submit();
        }
    });
    // 字符验证       
    jQuery.validator.addMethod("stringCheck", function(value, element) {
        return this.optional(element) || /^[\u0391-\uFFE5\w]+$/.test(value);
    }, "只能包括中文字、英文字母、数字和下划线");

    jQuery.validator.addMethod("stringCheck2", function(value, element) {
        return this.optional(element) || /^[^<>]+$/.test(value);
    }, "输入的内容中含有危险字符");

    jQuery.validator.addMethod("enStringCheck", function(value, element) {
        return this.optional(element) || /^[\w\d\s&]+$/.test(value);
    }, "输入的内容中含有危险字符");

    // 一个中文字算2个字节       
    jQuery.validator.addMethod("byteRangeLength", function(value, element, param) {
        var length = value.length;
        for (var i = 0; i < value.length; i++) {
            if (value.charCodeAt(i) > 127) {
                length++;
            }
        }
        return this.optional(element) || (length >= param[0] && length <= param[1]);
    }, "请确保输入的字符串长度在3-15之间");


    // 手机号码验证       
    jQuery.validator.addMethod("isMobile", function(value, element) {
        var length = value.length;
        var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
        return this.optional(element) || (length == 11 && mobile.test(value));
    }, "请正确填写您的手机号码");

    //        
    jQuery.validator.addMethod("isQQ", function(value, element) {
        var length = value.length;
        var mobile = /^\d{6,9}$/;
        return this.optional(element) || (length == 11 && mobile.test(value));
    }, "请正确填写您的QQ号码");

    // 电话号码验证       
    jQuery.validator.addMethod("isTel", function(value, element) {
        var tel = /^\d{3,4}-?\d{7,9}$/;    //电话号码格式010-12345678   
        return this.optional(element) || (tel.test(value));
    }, "电话号码输入有误");

    // 联系电话(手机/电话皆可)验证   
    jQuery.validator.addMethod("isPhone", function(value, element) {
        var length = value.length;
        var mobile = /^(((13[0-9]{1})|(15[0-9]{1}))+\d{8})$/;
        var tel = /^\d{3,4}-?\d{7,9}$/;
        return this.optional(element) || (tel.test(value) || mobile.test(value));

    }, "联系电话输入有误");

    // 邮政编码验证       
    jQuery.validator.addMethod("isZipCode", function(value, element) {
        var tel = /^[0-9]{6}$/;
        return this.optional(element) || (tel.test(value));
    }, "邮政编码输入有误");

    var cnmsg = {
        required: "必选字段",
        remote: "请修正该字段",
        email: "请输入正确格式的电子邮件",
        url: "请输入合法的网址",
        date: "请输入合法的日期",
        dateISO: "请输入合法的日期 (ISO).",
        number: "请输入合法的数字",
        digits: "只能输入整数",
        creditcard: "请输入合法的信用卡号",
        equalTo: "请再次输入相同的值",
        accept: "请输入拥有合法后缀名的字符串",
        maxlength: jQuery.format("长度不能超过 {0} 个字符"),
        minlength: jQuery.format("长度不能少 {0} 个字符"),
        rangelength: jQuery.format("字符串的长度须介于 {0} 和 {1} 之间"),
        range: jQuery.format("值的大小须介于 {0} 和 {1} 之间"),
        max: jQuery.format("请输入一个最大为 {0} 的值"),
        min: jQuery.format("请输入一个最小为 {0} 的值")
    };
    jQuery.extend(jQuery.validator.messages, cnmsg);
});
