﻿//用于对输入的数据进行检查的ＪＳ

//功能介绍：检查是否含有空格
function ContainSpace(a)
{
    return (a.indexOf(" ")!=-1)
}

//功能介绍：检查指定的字符串是否为空字附串(长度为0或只含空格)
function IsEmptyString(str)
{
    for(i=0;i<str.length;i++)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    return (i==str.length);
}

//功能介绍：检查指定的字符串是还为指定范围的数值(整数)
function IsValidNum(str,MinValue,MaxValue)
{
    var i;
    //去除左边空格
    for(i=0;i<str.length;i++)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(i,str.length);
            
    //去除右边空格
    for(i=str.length-1;i>=0;i--)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(0,i+1);

    
    //检查是否包含非数字字符
    var strSource ="0123456789";
    for (i=0;i<=(str.length-1);i++)
    {
        if (strSource.indexOf(str.charAt(i))==-1)
            return false;
    }
    
    //如果不能转换则返回假
    num=parseInt(str);
    if (isNaN(num)) return false;
    
    //如果不在范围内，则返回假
    if ((num<MinValue)||(num>MaxValue)) return false;
    
    return true;
}

//功能介绍：检查指定的字符串是还为指定范围的数值(带小数)
function IsValidDecimal(str,MinValue,MaxValue)
{
    var i;
    //去除左边空格
    for(i=0;i<str.length;i++)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(i,str.length);
            
    //去除右边空格
    for(i=str.length-1;i>=0;i--)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(0,i+1);

    
    //检查是否包含非数字字符
    var strRegExp = /^\d+(\.\d+)?$/;  // ^-?\d+(\.\d+)?$ 正负
    if (!strRegExp.test(str)) return false;

    //var strSource =".0123456789";
    //for (i=0;i<=(str.length-1);i++)
    //{
    //    if (strSource.indexOf(str.charAt(i))==-1)
    //        return false;
    //}
    
    //如果不能转换则返回假
    num=parseFloat(str);
    if (isNaN(num)) return false;
    
    //如果不在范围内，则返回假
    if ((num<MinValue)||(num>MaxValue)) return false;
    
    return true;
}

//功能介绍：检查是否为Email Address
function IsEmailAddress(a)
{ var i=a.length;
 var temp = a.indexOf('@');
 var tempd = a.indexOf('.');
 if (temp > 1) {
  if ((i-temp) > 3){
   
    if ((i-tempd)>0){
     return true;
    }
   
  }
 }
 return false;
}

//功能介绍：检查是否为只含有字母，数字和下划线的标准字符串
function IsStandardString(str)
{
    //去除左边空格
    for(i=0;i<str.length;i++)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(i,str.length);
            
    //去除右边空格
    for(i=str.length-1;i>=0;i--)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(0,i+1);
    
    var strSource ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_";

    for (i=0;i<=(str.length-1);i++)
    {
    if (strSource.indexOf(str.charAt(i))==-1)
        return false;
    }
    return true;
}

function IsContainForbiddenString(str)
{
    //去除左边空格
    for(i=0;i<str.length;i++)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(i,str.length);
            
    //去除右边空格
    for(i=str.length-1;i>=0;i--)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(0,i+1);
    
    var strSource ="#?\\/:<>*\"|";

    for (i=0;i<=(str.length-1);i++)
    {
    if (strSource.indexOf(str.charAt(i))!=-1)
          return true;
    }
    return false;
}

//功能介绍：检查是否为电话号码
function IsTelNum(str)
{
  var strSource ="0123456789-()# ";
  
  for (i=0;i<=(str.length-1);i++)
  {
    if (strSource.indexOf(str.charAt(i))==-1)
        return false;
  }
  return true;
}

//功能介绍：检查是否为纯数字符串
function IsNumericString(str)
{
   
  str=Trim(str);
  
  var strSource ="0123456789";
  
  for (i=0;i<=(str.length-1);i++)
  {
    if (strSource.indexOf(str.charAt(i))==-1)
        return false;
  }
  return true;
}

function LTrim(str)
{
    var i;
    for(i=0;i<str.length;i++)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(i,str.length);
    return str;
}
function RTrim(str)
{
    var i;
    for(i=str.length-1;i>=0;i--)
    {
        if(str.charAt(i)!=" "&&str.charAt(i)!="　")break;
    }
    str=str.substring(0,i+1);
    return str;
}
function Trim(str)
{
    return LTrim(RTrim(str));
}
