javascript页面检测

本文介绍了一个JavaScript脚本,该脚本用于处理表单的验证及提交过程,包括添加和删除选项、验证输入字段的有效性等。文章详细解释了如何确保用户输入符合预期格式,如电子邮件格式验证、必填项检查、限制特定字段的字符类型等。
<script language="javascript">
function addCategory(){
    
if (document.listForm.leftCate.selectedIndex<0){
        alert(
"请选择要添加的行业!");
        
return false;
    }
    
var leftSelectIndex = document.listForm.leftCate.selectedIndex
    
var valuestr = document.listForm.leftCate.options[leftSelectIndex].value
    
var textstr = document.listForm.leftCate.options[leftSelectIndex].text
    
var rightLastIndex = document.listForm.rightCate.options.length
    
var newoption= new Option(textstr,valuestr);
    
    
if (rightLastIndex>=5){
        alert(
"最多选5个行业!")
        
return false;
    }
    eval(
"document.listForm.rightCate.options[rightLastIndex]=newoption")
    document.listForm.leftCate.options[leftSelectIndex]
=null;
    
}

function delCategory(){
    
if (document.listForm.rightCate.options.length<1){
        alert(
"您还没有添加行业,请添加!");
        
return false;
    }
    
else if (document.listForm.rightCate.selectedIndex<0){
        alert(
"请选择要删除的行业!");
        
return false;
    }
    
var rightSelectIndex = document.listForm.rightCate.selectedIndex
    
var valuestr = document.listForm.rightCate.options[rightSelectIndex].value
    
var textstr = document.listForm.rightCate.options[rightSelectIndex].text
    
var leftLastIndex = document.listForm.leftCate.options.length
    
var newoption= new Option(textstr,valuestr);

    eval(
"document.listForm.leftCate.options[leftLastIndex]=newoption")
    document.listForm.rightCate.options[rightSelectIndex]
=null;
}

function  subTotal()
 {
   destList 
= document.listForm.selectedItems;
  srcList 
= document.listForm.rightCate;

  
if(srcList.length==0)
  {
    alert(
"请选择行业!");
    
return false;
  }

  
for(var i = 0; i < srcList.length; i++) {
    
var valuestr = srcList.options[i].value
    
var textstr = srcList.options[i].text
    
var newoption= new Option(textstr,valuestr);
    eval(
"destList.options[i]=newoption")
    destList.options[i].selected
=true;
   }

   
return true;
 }
//判断有没有选中的信息类型

function checkList()
{
var checkObj=document.listForm.infoType;
if(checkObj == null)
{
  alert(
"请选择信息种类");
  
return false;
}

for(var i=0;i<checkObj.length;i++){
if(checkObj[i].checked){
return true;
}
}
if(checkObj.checked)
{
  
return true;
}

alert(
"请选择信息种类");
return false;
}


 
function formCheckSubmit()
 {

 
//先判断有没有选择信息
  if!checkList())
  {
    
return false;
  }
  
    
var email = document.listForm.email.value;
    
var phoneCountry = document.listForm.phoneCountry.value;
    
var phoneArea = document.listForm.phoneArea.value;
    
var phoneNumber = document.listForm.phoneNumber.value
    
var companyName = document.listForm.companyName.value;
    
var address = document.listForm.address.value;

    

   
if( check(document.listForm))
   {
     
//把类别信息插入临时的列表
     if(! subTotal())
     {
       
return false;
     }


    
var enset="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    
var numset="0123456789, ";
    
var str = "0123456789-";
    
    
    
//判断几个必须为英文的东西,是不是都输入了英文!!!!!!!!
    
    
//!!!!!!!!!!!!!!!!keywords  lastname firstname
    
    
//isMadeOf
    var keywords = document.listForm.keywords.value;
    
var lastname = document.listForm.lastname.value;
    
var firstname= document.listForm.firstname.value;
      
if((jtrim(keywords).length >0))
      { 
        
if(isMadeOf(keywords,enset+numset))
        {
        
        }
else
        {
        alert(
"关键字必须为英文,且不能有空格!");
        
return false;
        }
      }
else{
        alert(
"请输入关键字!");
        
return false;
      }
      
        
if(jtrim(lastname)==""){
          alert(
"请输入姓");
          
return false;
        }
        
if(jtrim(firstname)==""){
          alert(
"请输入名");
          
return false;
        }
        
if(isMadeOf(lastname,enset))
        {
        
        }
else
        {
        alert(
"姓必须为英文!");
        
return false;
        }
      
         
if(isMadeOf(firstname,enset))
        {
        
        }
else
        {
        alert(
"名字必须为英文!");
        
return false;
        }
        
if(jtrim(email)==""){
          alert(
"请输入email");
          
return false;
        }
        
if(!isEmail(email)){
           alert(
"email格式不正确");
           
return false;
        }
        
if(jtrim(phoneCountry)==""){
           alert(
"请输入国家区号");
           
return false;
        }
        
if(!isInt(phoneCountry)){
           alert(
"国家区号必须是数字");
           
return false;
         }
        
if(jtrim(phoneArea)==""){
            alert(
"请输入城市区号")
            
return false;
        }
        
if(!isInt(phoneArea)){
            alert(
"城市区号必须是数字")
            
return false;
        }
        
if(jtrim(phoneNumber)==""){
           alert(
"请输入电话号码");
           
return false;
        }
        
if(!isMadeOf(phoneNumber,str)){
           alert(
"电话号码必须是数字");
           
return false;
        }
        
if(jtrim(companyName)==""){
           alert(
"请输入公司名称");
           
return false;
        }
        
if(lawlessStr(companyName)){
           alert(
"公司名称含非法字符");
           
return false;
        }
        
if(jtrim(address)==""){
           alert(
"请输入公司地址");
           
return false;
        }
        
if(lawlessStr(address)){
           alert(
"公司地址含非法字符");
           
return false;
        }
      document.listForm.submit();
      
return true;
   }
else
   {
     
return false;
   }
   
 }
 
 
function isEmail(theStr)
{   
    
var atIndex        =    theStr.indexOf("@")    ;
    
var dotIndex    =    theStr.indexOf(".",atIndex)    ;
    
var flag=true    ;
    
    theSub    
=    theStr.substring(0,dotIndex+1)    ;
    
if    ((atIndex    <    1)    ||    (atIndex    !=    theStr.lastIndexOf("@"))    ||    (dotIndex    <    (atIndex    +    2))    ||    (theStr.length    <=    theSub.length)) 
        {
            flag
=false    ;
        }
    
else
        {
            flag
=true    ;
        }
    
return (flag)    ;        
}

/**
  检查非法字符HTML代码过滤
  
*/
function lawlessStr(subStr){
    subStr
=subStr.toLowerCase();
    
var resultNum=-1;
    
var arrayObj = new Array();
    arrayObj[
0]="<br>";
    arrayObj[
1]="<p>";
    arrayObj[
2]="<input";
    arrayObj[
3]="<table";
    arrayObj[
4]="<tr";
    arrayObj[
5]="<td";
    arrayObj[
6]="<html";
    
for(var i=0;i<arrayObj.length;i++)
    {
        resultNum
=subStr.indexOf(arrayObj[i]);
        
if(resultNum!=-1)
        {
            
return true;
        }
    }
    
return false;
}
/**
  检查是否数字型字符串
*
*/
function isInt(str) {
    
if (str == "") {
        
return false;
    }
    
for(var i = 0; i < str.length; ++i) {
        
if((str.charAt(i)<'0'|| (str.charAt(i)>'9')) {
                
return false;
        }
    }
    
return true;
}
/**
  检查是否是指定允许的字符串
*
*/
function isMadeOf(val,str)
{

    
var jj;
    
var chr;
    
for (jj=0;jj<val.length;++jj){
        chr
=val.charAt(jj);
        
if (str.indexOf(chr,0)==-1)
            
return false;            
    }
    
    
return true;
}
//去掉字符串的空格
function jtrim(str)

    
while (str.charAt(0)==" ")
    {
        str
=str.substr(1);
    }
    
while (str.charAt(str.length-1)==" ")
    {
        str
=str.substr(0,str.length-1);
    }
    
return(str);
}
</script>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值