前段时间一直在做一个人才网站,里面用到了大量的Javascript代码,虽说很多都是从百度和别的网站上拷下来的,不过要把它们正确的用到自己网站上也是花费了我不少功夫的。其中有几段代码,是我找了n久也找不到完整的合适的,于是自己编出来的。现在就把它们贴出来,希望能帮到像我一样菜的鸟!
一、身份证验证
很多网页上都有身份证验证,不过大多是vbscript,javascript的n少。而且还不全面。身份证号码的组成结构,就不用我赘述了吧,在百度上一搜一大把的。
就说怎么验证得了:身份证验证首先是要验证字数、以及除了末尾能用字母外其它的都应该是数字。其次就是两点最重要的,出生年月日和户口所在地。
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)以下是引用片段:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/webkaifa/)function isValidDate( year, month, day )
{
year = parseInt(year,10);
month = parseInt(month,10);
day = parseInt(day,10);
if (( month==4) || (month==6) || (month==9) || (month==11) )
{ if (( day 1) || (day 30) )
{ alert( "日期在1 - 30之间" );
return (false);
}
}
else
{ if ( month!=2 )
{ if ( (day 1) || (day 31 ))
{ alert( "日期在1 - 31之间" );
return (false);
}
}
else
{ // month == 2
if ( ( year % 100 ) != 0 && (year % 4 == 0) || ( year % 100 ) == 0 && ( year % 400) == 0 )
{ if ( day 29 )
{ alert( "日期在1 - 29之间" );
return (false);
}
}
else
{ if ( day 28 )
{ alert( "日期在1 - 28之间" );
return (false);
}
}
}
}
return (true);
}
function isIdCardNo(s)
{
if ((s.length 15)||(s.length ==16)||(s.length ==17)||(s.length 18)){
window.alert("身份证位数不正确!");
return false;
}
slen=s.length-1;//身份证除最后一位外,必须为数字!
for (i=0; islen; i++)
{
cc = s.charAt(i);
if (cc "0" || cc "9")
{
return false;
}
}
//提取年月日
var strYear = parseInt(s.substring(6,10))
var strMonth = parseInt(s.substring(10,12))
var strDay = parseInt(s.substring(12,14))
// Form1.year的代码根据个人情况变动
var vYear=parseInt(document.Form1.year.options[document.Form1.year.selectedIndex].text)
var vMonth=parseInt(document.Form1.month.options[document.Form1.month.selectedIndex].text)
var vDay=parseInt(document.Form1.day.options[document.Form1.day.selectedIndex].text)
//判断输入的出生年月日是否是正确的日期
if(!isValidDate(strYear,strMonth,strDay))
{
window.alert("请检查身份证是否输入正确!");
return false;
}
//判断是否与出生年月日吻合
if((strYear!=vYear)||(strMonth!=vMonth)||(strDay!=vDay))
{
window.alert("身份证号与输入的出生年月日不符!");
return false;
}
//document.Form1.ceshi.value=strMonth
//document.Form1.ceshi2.value=vMonth
return true;
}
因为我不知道身份证上户口所在地的值是用什么规则规定的,而且也没必要验证的那么详细。就没有做户口验证。
不过我觉得,应该是大同小异的吧,只要判断form里户口选择select的值和身份证里户口对应的位数是否相等就ok了。
s.substring(6,10)就是用来截取字段的。从第六位到第十位。
二、排序的小代码
做到排序时,我第一个想到的笨方法是手动输入,后来考虑到分类可能会很多,于是就想到了用过的那种点击向上、向下按钮就自动向上和向下的东东,例如qq空间里头播放器排序。
于是上网搜了一下,结果很遗憾,调数据库的没有。没办法只得自己研究了一个。用起来也还行,自我感觉差不了多少。
代码如下:
以下是引用片段:
%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%
!--#include file="../conn.asp"--
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
titleUntitled Document/title
STYLE type=text/cssTD {
FONT-SIZE: 12px
}
SELECT {
FONT-SIZE: 12px
}
INPUT {
FONT-SIZE: 12px
}
A {
TEXT-DECORATION: none
}
A:hover {
COLOR: #c90000; TEXT-DECORATION: none
}
/STYLE
SCRIPT LANGUAGE="JavaScript"
!--
//window.onload = initPage;
//function initPage()
//{
// BTnPutUp.onclick = putUp;
// BTnPutDown.onclick = putDown;
// BTnGoUp.onclick = goUp;
// BTnGoDown.onclick = goDown;
/