codsoul 发表于 2013-1-29 08:58:29

(转)js判断汉字字数

js判断汉字字数的东东

//****************************************************************
//* 名  称:DataLength
//* 功    能:计算数据的长度
//* 入口参数:fData:需要计算的数据
//* 出口参数:返回fData的长度(Unicode长度为2,非Unicode长度为1)
//*****************************************************************
function DataLength(fData)
{
    var intLength=0
    for (var i=0;i<fData.length;i++)
    {
      if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))
            intLength=intLength+2
      else
            intLength=intLength+1   
    }
    return intLength
}


//****************************************************************
//* 名  称:DataLength
//* 功    能:计算数据的长度
//* 入口参数:fData:需要计算的数据
//* 出口参数:返回fData的长度(Unicode长度为2,非Unicode长度为1)
//*****************************************************************
function DataLength(fData)
{
    var intLength=0
    for (var i=0;i<fData.length;i++)
    {
      if ((fData.charCodeAt(i) < 0) || (fData.charCodeAt(i) > 255))
            intLength=intLength+2
      else
            intLength=intLength+1   
    }
    return intLength
}

//****************************************************************
//* 名  称:IsEmpty
//* 功    能:判断是否为空
//* 入口参数:fData:要检查的数据
//* 出口参数:True:空                              
//*         False:非空
//*****************************************************************
function IsEmpty(fData)
{
    return ((fData==null) || (fData.length==0) )
}


//****************************************************************
//* 名  称:IsDigit
//* 功    能:判断是否为数字
//* 入口参数:fData:要检查的数据
//* 出口参数:True:是0到9的数字                              
//*         False:不是0到9的数字
//*****************************************************************
function IsDigit(fData)
{
    return ((fData>="0") && (fData<="9"))
}


//****************************************************************
//* 名  称:IsInteger
//* 功    能:判断是否为正整数
//* 入口参数:fData:要检查的数据
//* 出口参数:True:是整数,或者数据是空的                           
//*         False:不是整数
//*****************************************************************
function IsInteger(fData)
{
    //如果为空,返回true
    if (IsEmpty(fData))
      return true
    if ((isNaN(fData)) || (fData.indexOf(".")!=-1) || (fData.indexOf("-")!=-1))
      return false   
   
    return true   
}

//****************************************************************
//* 名  称:IsEmail
//* 功    能:判断是否为正确的Email地址
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的Email地址,或者空                              
//*         False:错误的Email地址
//*****************************************************************
function IsEmail(fData)
{
    if (IsEmpty(fData))
      return true
    if (fData.indexOf("@")==-1)
      return false
    var NameList=fData.split("@");
    if (NameList.length!=2)
      return false
    if (NameList.length<1 )
      return false   
    if (NameList.indexOf(".")<=0)
      return false
    if (fData.indexOf("@")>fData.indexOf("."))
return false
    if (fData.indexOf(".")==fData.length-1)
return false
   
    return true   
}

//****************************************************************
//* 名  称:IsPhone
//* 功    能:判断是否为正确的电话号码(可以含"()"、"()"、"+"、"-"和空格)
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的电话号码,或者空                              
//*         False:错误的电话号码
//* 错误信息:
//*****************************************************************
function IsPhone(fData)
{
    var str;
    var fDatastr="";
    if (IsEmpty(fData))
      return true
    for (var i=0;i<fData.length;i++)
    {
      str=fData.substring(i,i+1);
      if (str!="(" && str!=")" && str!="(" && str!=")" && str!="+" && str!="-" && str!=" ")
         fDatastr=fDatastr+str;
    }
    //alert(fDatastr);
    if (isNaN(fDatastr))
      return false
    return true   
}

//****************************************************************
//* 名  称:IsPlusNumeric
//* 功    能:判断是否为正确的正数(可以含小数部分)
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的正数,或者空                              
//*         False:错误的正数
//* 错误信息:
//*****************************************************************
function IsPlusNumeric(fData)
{
    if (IsEmpty(fData))
      return true
    if ((isNaN(fData)) || (fData.indexOf("-")!=-1))
      return false
    return true   
}

//****************************************************************
//* 名  称:IsNumeric
//* 功    能:判断是否为正确的数字(可以为负数,小数)
//* 入口参数:fData:要检查的数据
//* 出口参数:True:正确的数字,或者空                              
//*         False:错误的数字
//* 错误信息:
//*****************************************************************
function IsNumeric(fData)
{
    if (IsEmpty(fData))
      return true
    if (isNaN(fData))
      return false
      
    return true   
}


//****************************************************************
//* 名  称:IsIntegerInRange
//* 功    能:判断一个数字是否在指定的范围内
//* 入口参数:fInput:要检查的数据
//*         fLower:检查的范围下限,如果没有下限,请用null
//*         fHigh:检查的上限,如果没有上限,请用null
//* 出口参数:True:在指定的范围内                              
//*         False:超出指定范围
//*****************************************************************
function IsIntegerInRange(fInput,fLower,fHigh)
{
    if (fLower==null)
      return (fInput<=fHigh)
    else if (fHigh==null)
      return (fInput>=fLower)
    else         
      return ((fInput>=fLower) && (fInput<=fHigh))
}
页: [1]
查看完整版本: (转)js判断汉字字数