程序效果地址:http://product.e-works.net.cn/CompanyRegister.aspx
js 代码如下:
// 回调返回的消息
var CALLBACK_MESSAGE_CAN = '可以' ; // 正常的
var CALLBACK_MESSAGE_NOT = '不可以' ; // 文件未找到
//消除前后空格和多余的回车换行
function KindTrim(str)
{
str = str.replace(/^/s+|/s+$/g, "");
str = str.replace(/[/r/n]+/g, "/r/n");
return str;
}
//返回对象
function $(o)
{
return document.getElementById(o);
}
// 函数说明 : 检测厂商名 [ 验证厂商名是否可以注册 ]
function CheckCompanyName()
{
var vrUser = $('tboxCompanyName');
var vrUserDiv = $('nameDiv') ;
var userName = KindTrim(vrUser.value) ;
if (userName.length <= 0)
{
DecorateTagCss(vrUserDiv,'error','厂商名不能为空。') ;
return false;
}
else if(userName.length >50)
{
DecorateTagCss(vrUserDiv,'error','厂商名称不能超过50个字符.') ;
return false;
}
else
{
DecorateTagCss(vrUserDiv,'decorate','系统正在检测您的厂商名,请稍后...') ;
SendRequest("GET","AjaxServer/RegisterInfoCheck.aspx?CompanyName="+escape(userName),null,UserNameCallbackHandler) ;
}
}
// 函数说明 : 处理服务器回传消息 [ 验证用户名是否可以注册 ]
function UserNameCallbackHandler()
{
var responseText = null ;
if (xmlHttp.readyState == ready_state_complete)
{
if (xmlHttp.status == http_status_complete)
{
responseText = xmlHttp.responseText ;
if( responseText == CALLBACK_MESSAGE_CAN)
{
$('nameDiv').className = 'ok' ;
$('nameDiv').innerHTML = "该厂商名可以注册。";
}
else
{
$('nameDiv').className = 'error' ;
$('nameDiv').innerHTML = "该厂商名已经有人注册。";
}
}
else
{
// alert("页面有异常。");
}
}
}
// 处理锁定焦点的操作
function HandleOnFocusEvent(objId)
{
var obj = $(objId) ;
if (obj)
{
// 去掉
var keys = document.getElementsByTagName('div') ;
if (keys)
{
for ( var i = 0; i < keys.length; i++)
{
var key = keys[i] ;
// 排除掉用户和email的div
var valideDiv = (key.id.toLowerCase().indexOf('div') > 0) && (key.id.toLowerCase() != 'namediv') ;
valideDiv = valideDiv && (key.id.toLowerCase() != 'vrAnswerDiv') ;
if (valideDiv)
{
if (key.className == 'decorate')
key.className = 'commonText' ;
}
}
}
obj.className = 'decorate' ;
}
}
// 处理丧失焦点时的操作 参数 : 输入框id 显示框id
// 要处理的对象包括:密码 真实姓名 出生年月 手机 电子Email
function HandleOnBlurEvent(tbxId,divId)
{
var tbxObj = $(tbxId) ;
var divObj = $(divId) ;
if (tbxObj && divObj)
{
var keyId = tbxObj.id ; //
var keyValue = KindTrim(tbxObj.value)
if(keyId=='tboxProductIntro')
{
if(keyValue=="")
{
DecorateTagCss(divObj,'error','主营产品说明不能为空。') ;
return false;
}
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='tboxWebSite')
{
if(keyValue=="")
{
DecorateTagCss(divObj,'error','厂商网址不能为空。') ;
return false;
}
if (keyValue.length >50) // 检测是否填写了厂商介绍
{
DecorateTagCss(divObj,'error','厂商网址不能超过50个字符。') ; return false;
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='ddlCompanyType')
{
if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "0")
{
DecorateTagCss(divObj,'error','请选择厂商类别。') ;
return false;
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='ddlCompanyCountry')
{
if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "0")
{
DecorateTagCss(divObj,'error','请选择厂商国别。') ;
return false;
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='ddlCompanyField')
{
if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "0")
{
DecorateTagCss(divObj,'error','请选择厂商领域。') ;
return false;
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='city')
{
if (KindTrim(tbxObj.options[tbxObj.selectedIndex].value) == "")
{
DecorateTagCss(divObj,'error','请选择所在城市。') ;
return false;
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='tboxAdress')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','厂商地址不能为空。') ;
return false;
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='tboxlinkName')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','请填写联系人的姓名。') ;
return false;
}
else
{
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
if(keyId=='tboxPhone')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','电话不能为空。') ;
return false;
}
if(!checkPhone(keyValue))
{
DecorateTagCss(divObj,'error','电话格式不正确,请填写区号,且区号和其他部分请用"-"隔开。') ;
return false;
}
DecorateTagCss(divObj,'ok','填写正确。') ;
}
if(keyId=='tboxFax')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','传真不能为空。') ;
return false;
}
else if(!checkPhone(keyValue))
{
DecorateTagCss(divObj,'error','传真格式不正确,请填写区号,且区号和其他部分请用"-"隔开。') ;
return false;
}
DecorateTagCss(divObj,'ok','填写正确。') ;
}
if(keyId=='tboxEmail')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','电子邮件不能为空。') ;
return false;
}
else if(!checkMail(keyValue))
{
DecorateTagCss(divObj,'error','电子邮件格式不正确,请重新输入。') ;
return false;
}
DecorateTagCss(divObj,'ok','填写正确。') ; ;
}
if(keyId=='tbUserName')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','登陆帐号不能为空。') ;
return false;
}
else if (keyValue.length > 20)
{
DecorateTagCss(divObj,'error','登陆帐号不能超过20个字符。') ;
return false;
}
DecorateTagCss(divObj,'ok','填写正确。') ;
}
if(keyId=='tbPassWord')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','登录密码不能为空,长度必须在6-12位之间') ;
return false;
}
else if (keyValue.length > 12)
{
DecorateTagCss(divObj,'error','登录密码不能为空,长度必须在6-12位之间') ;
return false;
}
DecorateTagCss(divObj,'ok','填写正确。') ;
}
if(keyId=='tbQuestion')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','密码保护问题不能为空。') ;
return false;
}
else if (keyValue.length > 20)
{
DecorateTagCss(divObj,'error','密码保护问题不能超过20个字符。') ;
return false;
}
DecorateTagCss(divObj,'ok','填写正确。') ;
}
if(keyId=='tbAnswer')
{
if (keyValue=="")
{
DecorateTagCss(divObj,'error','密码保护问题不能为空。') ;
return false;
}
else if (keyValue.length > 20)
{
DecorateTagCss(divObj,'error','密码保护问题不能超过20个字符。') ;
return false;
}
DecorateTagCss(divObj,'ok','填写正确。') ;
}
}
}
// 检测区域内的checkbox
function CheckRegionalInput(parentDiv,tagName,type)
{
// alert('开始检测');
//当前节点
var parentNode = document.getElementById(parentDiv);
var inputArray = parentNode.getElementsByTagName(tagName) ;
var flag = false ;
// 集合数量
var length = inputArray.length ;
for(var i = 0; i < length; i++)
{
if(inputArray.item(i).type == type) //为构选框
{
if(inputArray.item(i).checked)
{
flag = true ;
break ;
}
}
}
return flag ;
}
// 计算区域内checkbox选中的Value序列
function GetRegionalInputCheckdListText(parentDiv,tagName,type)
{
//当前节点
var parentNode = document.getElementById(parentDiv);
var inputArray = parentNode.getElementsByTagName(tagName) ;
var valueList = '' ;
// 集合数量
var length = inputArray.length ;
for(var i = 0; i < length; i++)
{
if(inputArray.item(i).type == type) //为构选框
{
if(inputArray.item(i).checked)
{
valueList += inputArray.item(i).title + "," ;
}
}
}
valueList = KindTrim(valueList) ;
if (valueList.length > 0 && valueList.lastIndexOf(',') > 0)
{
valueList = valueList.substr(0,valueList.length-1) ;
}
return valueList ;
}
//装饰标签 给节点加上样式表值和文字
function DecorateTagCss(obj,cssName,innerHtml)
{
if (obj)
{
obj.className = cssName ;
obj.innerHTML = innerHtml ;
}
}
function checkPhone(phone)
{
//国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
var pattern =/^(([0/+]/d{2,3}-)?(0/d{2,3})-)?(/d{7,8})(-(/d{3,}))?$/;
//var pattern =/(^[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}$)/
if(phone!="")
{
if(!pattern.test(phone))
{
return false;
}
else
return true;
}
}
function checkMail(str)
{
var mailArray;
var patterns =/^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$/;
mailArray=str.split(",");
for(i=0;i<mailArray.length;i++)
{
if(patterns.test(mailArray[i]))//邮件地址符合
{
return true;
}
else //邮件地址不符合
{
return false;
}
}
}
function CheckForm()
{
//厂商名称检查
var vrUser = $('tboxCompanyName');
var vrUserDiv = $('nameDiv') ;
var userName = KindTrim(vrUser.value) ;
if (userName.length <= 0)
{
DecorateTagCss(vrUserDiv,'error','厂商名称不能为空.') ;
return false;
}
//产品介绍
var ProductIntro = $('tboxProductIntro') ;
var vrproductDiv = $('ProductIntroDiv') ;
var productValue = KindTrim(ProductIntro.value) ;
if (productValue.length == 0)
{
DecorateTagCss(vrproductDiv,'error','主营产品说明不能为空。') ;
return false;
}
if (productValue.length >300)
{
DecorateTagCss(vrproductDiv,'error','主营产品说明不能超过300个字符。') ;
return false;
}
//厂商网址检测
var vrWebSite = $('tboxWebSite') ;
var WebSiteDiv = $('WebSiteDiv') ;
var WebSite = KindTrim(vrWebSite.value) ;
if (WebSite.length <= 0)
{
DecorateTagCss(WebSiteDiv,'error','厂商网址不能为空。') ;
return false;
}
if (WebSite.length>50) // 检测是否填写了厂商介绍
{
DecorateTagCss(WebSiteDiv,'error','厂商网址不能超过50个字符。') ;
return false;
}
//厂商介绍
// var CompanyIntro = $('tboxCompanyIntro') ;
// var vrCompanyIntro = $('CompanyIntroDiv') ;
// if (KindTrim(CompanyIntro.value).length >300) // 检测是否填写了厂商介绍
// {
// DecorateTagCss(vrCompanyIntro,'error','厂商介绍不能超过300个字符。') ;
// return false;
// }
//厂商类型
//var ComapnyLevel = $('rblComapnyLevel') ; //厂商类型 *
// var ComapnyLeveDiv = $('ComapnyLeveDiv') ;
//if (KindTrim(ComapnyLevel.options[ComapnyLevel.selectedIndex].value) == "0")
//{
// DecorateTagCss(ComapnyLeveDiv,'error','请选择您所在的行业。') ;
// return false;
// }
//厂商类别
var CompanyType = $('ddlCompanyType') ; //厂商类别
var vrCompanyTypeDiv = $('CompanyTypeDiv') ;
if (KindTrim(CompanyType.options[CompanyType.selectedIndex].value) == "0")
{
DecorateTagCss(vrCompanyTypeDiv,'error','请选择厂商类别。') ;
return false;
}
//厂商国别
var CompanyCountry = $('ddlCompanyCountry') ; //厂商国别 *
var vrCompanyCountryDiv = $('CompanyCountryDiv') ;
if (KindTrim(CompanyCountry.options[CompanyCountry.selectedIndex].value) == "0")
{
DecorateTagCss(vrCompanyCountryDiv,'error','请选择厂商国别。') ;
return false;
}
//厂商的领域
var CompanyField = $('ddlCompanyField') ; //厂商的领域 *
var vrCompanyFieldDiv = $('CompanyFieldDiv') ;
if (KindTrim(CompanyField.options[CompanyField.selectedIndex].value) == "0")
{
DecorateTagCss(vrCompanyFieldDiv,'error','请选择厂商领域。') ;
return false;
}
//所在城市
var city = $('city') ; //所在城市
var vrcityDiv = $('CityDiv') ;
if (KindTrim(city.options[city.selectedIndex].value) == "")
{
DecorateTagCss(vrcityDiv,'error','所在城市。') ;
return false;
}
//厂商地址
var Adress = $('tboxAdress') ;
var vrAdress = $('AdressDiv') ;
if (KindTrim(Adress.value).length == 0) // 检测是否填写了厂商介绍
{
DecorateTagCss(vrAdress,'error','厂商地址不能为空。') ;
return false;
}
//联系人
var linkName = $('tboxlinkName') ;
var vrlinkName = $('linkNameDiv') ;
if (KindTrim(linkName.value).length == 0) // 检测是否填写了厂商介绍
{
DecorateTagCss(vrlinkName,'error','请填写联系人的姓名。') ;
return false;
}
//电话号码
var re = /^(-|/+)?/d+(/./d+)?$/ ;
var vrTelephone = $('tboxPhone') ;
var vrPhoneDiv = $('PhoneDiv') ;
if (KindTrim(vrTelephone.value).length == 0) // 检测是否填写了电话
{
DecorateTagCss(vrPhoneDiv,'error','电话不能为空。') ;
return false;
}
else if(!checkPhone(vrTelephone.value))
{
DecorateTagCss(vrPhoneDiv,'error','电话格式不正确,请填写区号,且区号和其他部分请用"-"隔开。') ;
return false;
}
//传真
var vrFax = $('tboxFax') ;
var vrFaxDiv = $('FaxDiv') ;
if (KindTrim(vrFax.value).length == 0) // 检测是否填写了电话
{
DecorateTagCss(vrFaxDiv,'error','传真不能为空。') ;
return false;
}
else if(!checkPhone(vrFax.value))
{
DecorateTagCss(vrFaxDiv,'error','传真格式不正确,请填写区号,且区号和其他部分请用"-"隔开。') ;
return false;
}
//email检测
var vrEmail = $('tboxEmail') ;
var vrEmailDiv = $('EmailDiv') ;
var emailValue = KindTrim(vrEmail.value) ;
// var rStr = new RegExp("[^a-z,0-9,_,--,@,/.]", "ig");
// var isEmail = (!emailValue.match(rStr)) && (emailValue.length > 5) && (emailValue.indexOf('@') > 0) && (emailValue.indexOf('.') > 0) ;
if (emailValue.length <= 0)
{
DecorateTagCss(vrEmailDiv,'error','电子邮件不能为空。') ;
return false;
}
else if (!checkMail(emailValue))
{
DecorateTagCss(vrEmailDiv,'error','电子邮件格式不正确,请重新输入。') ;
return false;
}
//用户名检测
var vrUserName = $('tbUserName') ;
var vrUserNameDiv = $('UserNameDiv') ;
var UserNameValue = KindTrim(vrUserName.value) ;
if (UserNameValue.length <= 0)
{
DecorateTagCss(vrUserNameDiv,'error','登陆帐号不能为空。') ;
return false;
}
else if (UserNameValue.length > 20)
{
DecorateTagCss(vrUserNameDiv,'error','登陆帐号不能超过20个字符。') ;
return false;
}
//密码检测
var vrPassWord = $('tbPassWord') ;
var vrPassWordDiv = $('PassWordDiv') ;
var PassWordvalue = KindTrim(vrPassWord.value) ;
if (PassWordvalue.length < 6)
{
DecorateTagCss(vrPassWordDiv,'error','登录密码不能为空,长度必须在6-12位之间') ;
return false;
}
else if (PassWordvalue.length > 12)
{
DecorateTagCss(vrPassWordDiv,'error','登录密码不能为空,长度必须在6-12位之间') ;
return false;
}
//密码保护问题检测
var vrQuestion = $('tbQuestion') ;
var vrQuestionDiv = $('QuestionDiv') ;
var QuestionValue = KindTrim(vrQuestion.value) ;
if (QuestionValue.length <= 0)
{
DecorateTagCss(vrQuestionDiv,'error','密码保护问题不能为空。') ;
return false;
}
else if (QuestionValue.length > 20)
{
DecorateTagCss(vrQuestionDiv,'error','密码保护问题不能超过20个字符。') ;
return false;
}
//密码保护问题答案检测
var vrAnswer = $('tbAnswer') ;
var vrAnswerDiv = $('AnswerDiv') ;
var AnswerValue = KindTrim(vrAnswer.value) ;
if (AnswerValue.length <= 0)
{
DecorateTagCss(vrAnswerDiv,'error','密码保护问题答案不能为空。') ;
return false;
}
else if (AnswerValue.length > 20)
{
DecorateTagCss(vrAnswerDiv,'error','密码保护问题答案不能超过20个字符。') ;
return false;
}
return true;
}