数组遍历判断两个输入框之间是否有输入重复的值!

1数组遍历判断两个输入框之间是否有输入重复的值!
今天在工作的过程,遇到一个这样的问题。有两个输入框,
用户可输入多值,用逗号隔开,例如:1,2,3,4
第二个输入框也是一样,但是第一输入框是必填的,现在就是要取这两个输入框逗号隔开的值而且不能重复。
以下为我实现的脚本代码,欢迎指正。
function checkSend()
{
    
var Accept = document.getElementById("txtAddresseeName").value;
    
if( Accept=="")
    
{
        alert(
"请输入");
        
return false;
    }

       
if(  CheckAcceptName(Accept,"第一个框") )
    
{   
        
if(document.getElementById("txtOthersName")!=null)
        
{
           
var CopyForName = document.getElementById("txtOthersName").value;  
            
if( CopyForName !="")
            
{
                  
if( CheckAcceptName(CopyForName,"第二个框"))  
                  
{
                          
var ErrorMsg="";    
                           
if(Accept.substring(Accept.length-1,Accept.length)==","
                                 Accept
=Accept.substr(0,   Accept.length-1);   //去掉最后一个逗号 
                           var Accepts = Accept.split(","); //将逗号拆分
                           for(var i=0;i<Accepts.length;i++)
                           
{
                                AcceptName 
= Accepts[i];   
                                
if( AcceptName!="")
                                
{
                                    
var count = 0;
                                     
if(CopyForName.substring(CopyForName.length-1,CopyForName.length)==","
                                            CopyForName
=CopyForName.substr(0,   CopyForName.length-1);   //去掉最后一个逗号 
                                    var CopyForNames = CopyForName.split(","); //将逗号拆分
                                    for(var j=0;j<CopyForNames.length;j++)
                                    
{
                                        
if( AcceptName == CopyForNames[j] )
                                            count 
++ ;  
                                    }

                                    
                                    
if( count > 0 ) //如果重复
                                    {
                                        
if( ErrorMsg.indexOf(AcceptName) == -1//添加错误提示
                                             ErrorMsg = ErrorMsg +AcceptName +",";
                                    }

                                }

                           }

                           
                           
if(  ErrorMsg !="")
                           
{
                                alert(
"第一个输入框和第二个框中"+ErrorMsg+"出现重复。");
                                
return false;
                           }


                   }

             }

        }

    }

       
  
    
return true;
}


//2008.08.07 
//
阿一  检查两个输入框是否出现重复
function CheckAcceptName(AcceptName,type)
{

    
var ErrorMsg="";    
   
if(AcceptName.substring(AcceptName.length-1,AcceptName.length)==","
         AcceptName
=AcceptName.substr(0,   AcceptName.length-1);   //去掉最后一个逗号 
   var Accepts = AcceptName.split(","); //将逗号拆分
   for(var i=0;i<Accepts.length;i++)
   
{
        Name 
= Accepts[i];   
       
if( Name!="")
        
{
            
var count = 0;
            
for(var j=0;j<Accepts.length;j++)
            
{
                
if( Name == Accepts[j] )
                    count 
++ ;  //判断某值在该数组中是否出现重复
            }

            
            
if( count > 1 ) //如果重复
            {
                
if( ErrorMsg.indexOf(Name) == -1//添加错误提示
                     ErrorMsg = ErrorMsg +Name +",";
            }

        }

   }

   
   
if(  ErrorMsg !="")
   
{
        alert(type
+ErrorMsg+"出现重复。");
        
return false;
   }

   
   
return true;
}
posted @ 2008-06-07 14:25  ansonpan  阅读(968)  评论(0编辑  收藏  举报