javascript中的表单验证(37)

Title:javascript中的表单验证
iption:
 @Copyright:
 @Company:
 @autor:firefly
 @version:1.0
 @time:2012.12.27

function checkdata() {
 var ssn=form.username.value.toLowerCase();
 
 if (!checkUserName(ssn)) return false;  //用户名检查
 
 if( strlen(form.pwd.value)<6 || strlen(form.pwd.value)>16 ) {
  alert("\正确地登录密码长度为6-16位,仅可用英文、数字、特殊字符!")
  form.pwd.focus()

//输错后,(弹出消息框,点确认)直接将光标定位在输入框,用于修改。使客户有一个比较好的体验。
return false;
 }
 
 
 if( strlen2(form.pwd.value) ) {
  alert("\您的密码中包含了非法字符,仅可用英文、数字、特殊字符!")
  form.pwd.focus()
  return false;
 }
 if( form.pwd.value == form.username.value ) {
  alert("\用户名和密码不能相同!")
  form.pwd.focus()
  return false;
 }
 if( form.pwd2.value =="" ) {
  alert("\请输入密码确认!")
  form.pwd2.focus()
  return false;
 }
 if( form.pwd2.value != form.pwd.value ) {
  alert("\两次密码输入不一致!")
  form.pwd.focus()
  return false;
 }
 //检查性别
 //alert(form.sex.length);
 /*
 var checked = false;
 for( i=0; i<form.sex.length; i++ ) {
  if(form.sex[i].checked) checked = true;
 }
 if(!checked) return false;
 */
 if( !(form.sex[0].checked || form.sex[1].checked) ) {
  alert("请选择性别!");
  form.sex[0].focus();
  return false;
 }
 
 //检查省份
 if( form.province.selectedIndex == 0 ) {
  alert("请选择省份!");
  form.province.focus();
  return false;
 }
 
 
 /*
 if( form.question.value == "") {
  alert("\请输入提示问题,当您忘记密码时可根据该问题提示密码!")
  form.question.focus()
  return false;
 }
 if( strlen(form.answer.value)<6) {
  alert("\请重新输入问题答案,长度不少于6位!")
  form.answer.focus()
  return false;
 }
 if( form.question.value == form.answer.value ) {
  alert("\密码提示问题和答案不能相同!")
  form.answer.focus()
  return false;
 }
 if( strlen(form.pingma.value)<6 || strlen(form.pingma.value)>16 ) {
  alert("\正确的安全码长度为6-16位,仅可用英文、数字、特殊字符!")
  form.pingma.focus()
  return false;
 }
 if( strlen2(form.pingma.value) ) {
  alert("\您的安全码中包含了非法字符,仅可用英文、数字、特殊字符!")
  form.pingma.focus()
  return false;
 }
 if( form.pingma.value == form.username.value ) {
  alert("\用户名和安全码不能相同!")
  form.pingma.focus()
  return false;
 }
 if( form.pingma2.value =="" ) {
  alert("\请输入安全码确认!")
  form.pingma2.focus()
  return false;
 }
 if( form.pingma.value != form.pingma2.value ) {
  alert("\两次安全码输入不一致!")
  form.pingma.focus()
  return false;
 }*/
 if(form.intro.value == "") {
  alert("\自我介绍不能为空!");
  form.intro.focus();
  return false;
 }
 return true;
}

function checkUserName(ssn){
 if( ssn.length<3 || ssn.length>18 ) {
  alert("\请输入正确的用户名,用户名长度为3-18位!")
  form.username.focus()
  return false;
 }
 if (isWhiteWpace(ssn)){
  alert("\请输入正确的用户名,用户名中不能包含空格!")
  form.username.focus()
  return false;
 }
 if (!isSsnString(ssn)){
  alert("\    对不起,您选择的用户名不正确或已被占用!用户名\n由a~z的英文字母(不区分大小写)、0~9的数字、点、减\n号或下划线组成,长度为3~18个字符,只能以数字或字母\n开头和结尾,例如:kyzy_001。")
  form.username.focus()
  return false;
 }
 return true;
}

function strlen(str){
 var len;
 var i;
 len = 0;
 for (i=0;i<str.length;i++){
  if (str.charCodeAt(i)>255) len+=2; else len++;
 }
 return len;
}

function strlen2(str){
 var len;
 var i;
 len = 0;
 for (i=0;i<str.length;i++){
  if (str.charCodeAt(i)>255) return true;    //拿到字符的编码,这种编码不是ASCII编码。
 }
 return false;
}

function isWhiteWpace (s)
{
 var whitespace = " \t\n\r";
 var i;
 for (i = 0; i < s.length; i++){  
  var c = s.charAt(i);
  if (whitespace.indexOf(c) >= 0) {
     return true;
  }
 }
 return false;
}

function isSsnString (ssn)
{
 var re=/^[0-9a-z][\w-.]*[0-9a-z]$/i;

//这个是javascript中正则表达式的表示方法,以/开头并且以/结束,^代表一行的开头,$代表一行的结束。*代表匹配前面元字符0次或多次

//[0-9a-z]代表0-9或者a-z之一,[\w-.]代表"构成单词的字符","-"或"."
 if(re.test(ssn))
  return true;
 else
  return false;
}

function checkssn(gotoURL) {
   var ssn=form.username.value.toLowerCase();
   if (checkUserName(ssn)){
    var open_url = gotoURL + "?username=" + ssn;
    window.open(open_url,'','status=0,directories=0,resizable=0,toolbar=0,location=0,scrollbars=0,width=322,height=200');
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值