﻿String.prototype.trim=function()
{
    return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.isValidPassword=function()
{
    var r=this.match(/^[\x21-\x7e]{4,12}$/);
    if(r==null) return false;
    return true;
}
String.prototype.isValidMail=function()
{
    var r=this.match(/^[\w.-]+@([0-9a-z][\w-]+\.)+[a-z]{2,3}$/i);
    if(r==null) return false;
    return true;
}
String.prototype.isIdCardNo=function()
{
    if (isNaN(this)){
        return false;
    }
    var len = this.length, re;
    if (len == 15){
        re = new RegExp(/^(\d{6})()?(\d{2})(\d{2})(\d{2})(\d{3})$/);
    }else if (len == 18){
        re = new RegExp(/^(\d{6})()?(\d{4})(\d{2})(\d{2})(\d{3})(\d)$/);
    }else {
        return false;
    }
    var a = this.match(re);
    if (a != null){
        if (len==15){
            var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
        }else{
            var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
            var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
        }
        if (!B) {
            return false;
        }
    }
    return true;
}