﻿function replaceEnter(str){
return str.replace(/\n/,"<br>")
}

function LTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
    
    if (whitespace.indexOf(s.charAt(0)) != -1)
    {
        var j=0, i = s.length;
        while (j < i && whitespace.indexOf(s.charAt(j)) != -1)
        {
            j++;
        }
        s = s.substring(j, i);
    }
    return s;
}
 
function RTrim(str)
{
    var whitespace = new String(" \t\n\r");
    var s = new String(str);
 
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1)
    {
        var i = s.length - 1;
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1)
        {
            i--;
        }
        s = s.substring(0, i+1);
    }
    return s;
}
 
function Trim(str)
{
    return RTrim(LTrim(str));
}

function XMLEncode(str)
{
       str=Trim(str);
       str=str.replace("&","&amp;");
       str=str.replace("<","&lt;");
       str=str.replace(">","&gt;");
       str=str.replace("'","&apos;");
       str=str.replace("\"","&quot;");
       return str;
}

function isEmpty(str)
{
    if(Trim(str)=="")
    {
return true
}
else{
return false
}
}

/*
IsInt(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能：判断是否为整数、正整数、负整数、正整数+0、负整数+0
*/
function IsInt(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }
    
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            //alert("检查是否包含0参数，只可为(空、0)");
        }
    }  
    switch(sign)
    {
        case "+-":
            //整数
            reg=/(^-?|^\+?)\d+$/;            
            break;
        case "+": 
            if(!bolzero)           
            {
                //正整数
                reg=/^\+?[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //正整数+0
                //reg=/^\+?\d+$/;
                reg=/^\+?[0-9]*[0-9][0-9]*$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //负整数
                reg=/^-[0-9]*[1-9][0-9]*$/;
            }
            else
            {
                //负整数+0
                //reg=/^-\d+$/;
                reg=/^-[0-9]*[0-9][0-9]*$/;
            }            
            break;
        default:
            //alert("检查符号参数，只可为(空、+、-)");
            return false;
            break;
    }   
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}
 
/*
IsFloat(string,string,int or string):(测试字符串,+ or - or empty,empty or 0)
功能：判断是否为浮点数、正浮点数、负浮点数、正浮点数+0、负浮点数+0
*/
function IsFloat(objStr,sign,zero)
{
    var reg;    
    var bolzero;    
    
    if(Trim(objStr)=="")
    {
        return false;
    }
    else
    {
        objStr=objStr.toString();
    }    
    
    if((sign==null)||(Trim(sign)==""))
    {
        sign="+-";
    }
    
    if((zero==null)||(Trim(zero)==""))
    {
        bolzero=false;
    }
    else
    {
        zero=zero.toString();
        if(zero=="0")
        {
            bolzero=true;
        }
        else
        {
            alert("检查是否包含0参数，只可为(空、0)");
        }
    }
    
    switch(sign)
    {
        case "+-":
            //浮点数
            reg=/^((-?|\+?)\d+)(\.\d+)?$/;
            break;
        case "+": 
            if(!bolzero)           
            {
                //正浮点数
                reg=/^\+?(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //正浮点数+0
                reg=/^\+?\d+(\.\d+)?$/;
            }
            break;
        case "-":
            if(!bolzero)
            {
                //负浮点数
                reg=/^-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/;
            }
            else
            {
                //负浮点数+0
                reg=/^((-\d+(\.\d+)?)|(0+(\.0+)?))$/;
            }            
            break;
        default:
            alert("检查符号参数，只可为(空、+、-)");
            return false;
            break;
    }
    
    var r=objStr.match(reg);
    if(r==null)
    {
        return false;
    }
    else
    {        
        return true;     
    }
}

function isAvail(str){
var re = /[^A-Za-z0-9_]+/ 
return !re.test(str)
}

/*
英文值检测
*/
function isEnglish(name) //英文值检测

{

    if(name.length == 0)

        return false;

    for(i = 0; i < name.length; i++)
     {

    if(name.charCodeAt(i) > 128)

    return false;

    }

    return true;

}

function isChinese(name) //中文值检测

{

if(name.length == 0)

return false;

for(i = 0; i < name.length; i++) {

if(name.charCodeAt(i) <= 128)

return false;

}

return true;

}



function isMail(name) // E-mail值检测

{

if(! isEnglish(name))

return false;

var i = name.indexOf("@");

var j = name.lastIndexOf("@");

if(i == -1)

return false;

if(i != j)

return false;

if(i == name.length)

return false;

return true;

}

function isNumber(name) //数值检测

{

if(name.length == 0)

return false;

for(i = 0; i < name.length; i++) {

if(name.charAt(i) < "0" || name.charAt(i) > "9")

return false;

}
}

//js身份证号码严格验证
function  checkIdcard(idcard){
var  area={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}  

var  idcard,Y,JYM;
var  S,M;
var  idcard_array  =  new  Array();
idcard_array  =  idcard.split("");
//地区检验
if(area[parseInt(idcard.substr(0,2))]==null)  return  false;
//身份号码位数及格式检验
switch(idcard.length){
case  15:
if  (  (parseInt(idcard.substr(6,2))+1900)  %  4  ==  0  ||  ((parseInt(idcard.substr(6,2))+1900)  %  100  ==  0  &&  (parseInt(idcard.substr(6,2))+1900)  %  4  ==  0  )){
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}$/;//测试出生日期的合法性
}  else  {
ereg=/^[1-9][0-9]{5}[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}$/;//测试出生日期的合法性
}
if(ereg.test(idcard))  return  true;
else  return  false;
break;
case  18:
//18位身份号码检测
//出生日期的合法性检查  
//闰年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))
//平年月日:((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))
if  (  parseInt(idcard.substr(6,4))  %  4  ==  0  ||  (parseInt(idcard.substr(6,4))  %  100  ==  0  &&  parseInt(idcard.substr(6,4))%4  ==  0  )){
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}[0-9Xx]$/;//闰年出生日期的合法性正则表达式
}  else  {
ereg=/^[1-9][0-9]{5}19[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|3[0-1])|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|1[0-9]|2[0-8]))[0-9]{3}[0-9Xx]$/;//平年出生日期的合法性正则表达式
}
if(ereg.test(idcard)){//测试出生日期的合法性
//计算校验位
S  =  (parseInt(idcard_array[0])  +  parseInt(idcard_array[10]))  *  7
+  (parseInt(idcard_array[1])  +  parseInt(idcard_array[11]))  *  9
+  (parseInt(idcard_array[2])  +  parseInt(idcard_array[12]))  *  10
+  (parseInt(idcard_array[3])  +  parseInt(idcard_array[13]))  *  5
+  (parseInt(idcard_array[4])  +  parseInt(idcard_array[14]))  *  8
+  (parseInt(idcard_array[5])  +  parseInt(idcard_array[15]))  *  4
+  (parseInt(idcard_array[6])  +  parseInt(idcard_array[16]))  *  2
+  parseInt(idcard_array[7])  *  1  
+  parseInt(idcard_array[8])  *  6
+  parseInt(idcard_array[9])  *  3  ;
Y  =  S  %  11;
M  =  "F";
JYM  =  "10X98765432";
M  =  JYM.substr(Y,1);//判断校验位
if(M  ==  idcard_array[17])  return  true;  //检测ID的校验位
else  return  false;
}
else  return  false;
break;
default:
return  false;
break;
}

}

/*
//电话号码的验证
function PhoneCheck(s) {
var str=s;
var reg=/(^[0-9]{3,4}\-[0-9]{3,8}$)|(^[0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)|(^0{0,1}13[0-9]{9}$)|(^0{0,1}159[0-9]{8}$)/
if (reg.test(str))
return true;
else
return false;
//alert(reg.test(str));
}*/

//手机号码的判断代码
function checkMobile(sMobile){
 if(!(/^1[3|5][0-9]{9}$/.test(sMobile))){
  return false;
 }
 else
 {
 return true;
 }
}






