js注册表单验证

<script language="javascript">
function IsDigit(cCheck)
{
return (('0'<=cCheck) && (cCheck<='9'));
}

function IsAlpha(cCheck)
{
return ((('a'<=cCheck) && (cCheck<='z')) || (('A'<=cCheck) && (cCheck<='Z')));
}

function IsChinese(cCheck)

{
var re=/^[/u4E00-/u9FA5/uF900-/uFA2D]*$/;
return(re.test(cCheck))
}


function IsaNull(cCheck)
{
return(cCheck != " ")
}

function year2k(d)
{
return (d < 1000) ? d + 1900 : d;
}

function isDate (year, month, day)
{
// month argument must be in the range 1 - 12
month = month - 1; // javascript month range : 0- 11
var tempDate = new Date(year,month,day);

if ((year2k(tempDate.getYear()) == year) &&
(month == tempDate.getMonth()) &&
(day == tempDate.getDate()) )
{
return true;
}
else
{
return false;
}
}


function checkform()
{
id = document.sform1.id.value;
if (id == "")
{
alert("请输入注册名");
document.sform1.id.focus();
return false;
}

for (nIndex=0; nIndex<id.length; nIndex++)
{
cCheck = id.charAt(nIndex);
if (!(IsDigit(cCheck) || IsAlpha(cCheck) || cCheck=='-' || cCheck=='_' || cCheck=='.'))
{
alert("用户名只能使用字母、数字以及-、_和.,并且不能使用中文");
document.sform1.id.focus();
return false;
}
}
chineseid = document.sform1.chineseid.value;
if (chineseid == "")
{
alert("请输入中文昵称");
document.sform1.chineseid.focus();
return false;
}


strPassword = document.frmUserInfo.Password.value;
if ( strPassword == "")
{
alert("密码不能为空");
document.frmUserInfo.Password.focus();
return false;
}
for (pwIndex=0; pwIndex<strPassword.length; pwIndex++)
{
cCheck = strPassword.charAt(pwIndex);
if ( cCheck==' ' || cCheck==':' || cCheck=='/'' || cCheck=='"' )
{
alert("密码不能使用空格和单双引号( ,',/")");
document.frmUserInfo.Password.focus();
return false;
}
}

if (document.frmUserInfo.Password.value != document.frmUserInfo.PasswordVerify.value)
{
alert("两遍输入的密码不一致");
document.frmUserInfo.Password.focus();
return false;
}

if (document.sform1.email.value == "")
{
alert("请输入您的E-MAIL地址");
document.sform1.email.focus();
return false;
}

email=document.sform1.email.value;
emailerr=0
for (i=0; i<email.length; i++)
{
if ((email.charAt(i) == "@") & (email.length > 5))
{
emailerr=emailerr+1
}
}
if (emailerr != 1)
{
alert("请输入正确的E-MAIL地址");
document.sform1.email.focus();
return false;
}

if (document.sform1.checkask.value=="")
{
alert("密码提示问题不能为空");
document.sform1.checkask.focus();
return false;
}
if (document.sform1.checkans.value=="")
{
alert("您的密码提示问题答案不能为空");
document.sform1.checkans.focus();
return false;
}

if((id_length!=18 && id_length!=15) || id_year!=year || id_month!=month || id_day!=day)
{
alert("请输入正确的身份证号码~");
document.frmUserInfo.IDNumber.focus();
return false;
}
else
document.frmUserInfo.submit();
}
return true;

}

function email_check(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 1;
}
}
}
return 0;
}


function isEmail(strEmail)
{
if (strEmail.search(/^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/) != -1)
return true;
else
return false;
}

function check_uid()
{
var uid = document.frmUserInfo.UserID.value;
if(uid!="")
{
var url = "check_uid.php?UserID="+uid;
window.open(url,"sss","width=430,height=198,scrollbars=yes");
}
else
alert("请填写帐号");
}

//校验是否为YYYY-MM-DD的日期格式

function IsDateString(Str)
{
// 校验是否YYYY-MM-DD格式的日期型数据,返回值为True成功,否则返回False
// 如果传递的是空字符串则返回False
// 定义分隔符
var sSplit="-"

var iYearPos=Str.indexOf(sSplit);
if (iYearPos==-1) return false;

var iMonthPos=Str.indexOf(sSplit,iYearPos+1);
if (iMonthPos==-1) return false;

// 分离出年份
sYear=Str.substr(0,iYearPos);
// 分离出月份
sMonth=Str.substr(iYearPos+1,iMonthPos-iYearPos-1);
//月份长度为二
if (sMonth.length!=2) return false;
if (sMonth.substr(0,1)=="0") sMonth=sMonth.substr(1);
// 分离出日期
sDay=Str.substr(iMonthPos+1);
//日长度为二
if (sDay.length!=2) return false;
if (sDay.substr(0,1)=="0") sDay=sDay.substr(1);


// 年份是否数字?
if (isNaN(sYear)) return false;
var iYear=parseInt(sYear);
// 年份是否整数?
if (sYear!=iYear) return false;
// 年份是否在1000-9999之间?
if (iYear<1000 || iYear>9999) return false;

// 月份是否数字?
if (isNaN(sMonth)) return false;
var iMonth=parseInt(sMonth);
// 月份是否整数?
if (sMonth!=iMonth) return false;
// 月份是否在1-12之间?
if (iMonth<1 || iMonth>12) return false;

// 日期是否数字?
if (isNaN(sDay)) return false;
var iDay=parseInt(sDay);
// 日期是否整数?
if (sDay!=iDay) return false;
// 日期是否在1-31之间?
if (iDay<1 || iDay>31) return false;

if (iDay<29) return true;

// 日期数据是否合法的?
switch (iMonth)
{
case 1:
if (iDay>31) return false;
break;
case 2:
if (IsLeapYear(iYear))
{
if (iDay>29) return false;
}
else
{
if (iDay>28) return false;
}
break;
case 3:
if (iDay>31) return false;
break;
case 4:
if (iDay>30) return false;
break;
case 5:
if (iDay>31) return false;
break;
case 6:
if (iDay>30) return false;
break;
case 7:
if (iDay>31) return false;
break;
case 8:
if (iDay>31) return false;
break;
case 9:
if (iDay>30) return false;
break;
case 10:
if (iDay>31) return false;
break;
case 11:
if (iDay>30) return false;
break;
case 12:
if (iDay>31) return false;
}

return true;

}


function IsLeapYear(Y)
{
// 年份是否为闰年

if (Y % 4 !=0) return false;
if (Y % 400 == 0) return true;
if (Y % 100 == 0) return false;
}


function fIsDate(strDate){
//日期格式:YYYY-MM-DD
//功能:判断一个字符串是否为合法日期
var strSeparator = "-"; //日期分隔符
var strDateArray;
var intYear;
var intMonth;
var intDay;
var boolLeapYear;
strDateArray = strDate.split(strSeparator);
if(strDateArray.length!=3) return false;
intYear = parseInt(strDateArray[0],10);
intMonth = parseInt(strDateArray[1],10);
intDay = parseInt(strDateArray[2],10);
if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) return false;
if(intMonth>12||intMonth<1) return false;
if((intMonth==1||intMonth==3||intMonth==5||intMonth==7||intMonth==8||intMonth==10||intMonth==12)&&(intDay>31||intDay<1)) return false;
if((intMonth==4||intMonth==6||intMonth==9||intMonth==11)&&(intDay>30||intDay<1)) return false;
if(intMonth==2){
if(intDay<1) return false;
boolLeapYear = false;
if((intYear%100)==0){
if((intYear%400)==0) boolLeapYear = true;
}
else{
if((intYear%4)==0) boolLeapYear = true;
}
if(boolLeapYear){
if(intDay>29) return false;
}
else{
if(intDay>28) return false;
}
}

</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值