免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1301 | 回复: 0

JavaScript源程序 [复制链接]

论坛徽章:
0
发表于 2005-07-21 10:24 |显示全部楼层
此程序在window2k下测试通过.在Linux尚末测试.[@more@]/**
*文件名:check.js
*JavaScript程序
*客户端验证数函数
*请可存源文件的完整性,尊重每一份执爱开源的辛苦付出
*/
//检
验字符是否包函非法字符
functionhavegg(elem){
varstr="~!@%^&*();'\"?>
//判
断字符由字母和数字,下划线组成.且开头的只能是下划线和字母
functionisUserId(elem){
varpattern=/^(\b[a-zA-Z]|\b_)([a-zA-Z0-9]+_?[a-zA-Z0-9]*)+$/;
if(pattern.test(elem)){
return true;
}else{
return false;
}
}
//检
查是否输入为中文汉字。(真实姓名,必须输入为汉字).
functionisChinese(elem){
varpattern=/[^\x00-\xff]/g;
if(pattern.test(elem)){
//包
含中文
return false;
}else{
//不
包含中文
return true;
}
}
//检
验输入关键字是否合法
functionisSearch(elem)
{
var/">pattern=/^[^`~!@#$%^&*()+=|\\\[\]\{\}:;\'\,./?]{1?]{">}[^`~!@$%^&()+=|\\\[\]\{\}:;\'\,.?]{0,19}$/;
if(!pattern.exec(elem)){
return false;
}else{
return true;
}
}
//表
单的值不能为空
functionisNull(elem){
//var
pattern=/^\s+|\s+$/;
if(elem.replace(/(^\s+|\s$)/g,"")==""){
return false;
}else{
return true;
}
}
//不
能超过imax字符
functionimax(elem,imax){
if(elem.length>imax){
return false;
}else{
return true;
}
}
//不
能少于imix字符
functionimix(elem,imix){
if(elem.length
//闰
年判断
functionisleapyear(thisyear){
return(((thisyear%4==0)&&(thisyear%100!=0))||(thisyear%400==0))
}
//检
验日期格式
//2004-01-12
或者86-1-21还可以用"/"代替"|"来间隔
functionisShortDate(elem){
varpattern=/^(\d{1,4})([-|/])(\d{1,2})([-|/])(\d{1,2})$/;
vartemp=elem.match(pattern);
if(temp==null){
return false;
}
vard=newDate(temp[1]+"/"+temp[3]+"/"+temp[5]);
returnd.getYear()==temp[1]&&
(d.getMonth()+1)==temp[3]&&
d.getDate()==temp[5];
}
//检
验邮政编码
functionisPost(elem){
varpattern=/^[0-9]{6}$/;
if(!pattern.test(elem)){
return false;
}else{
if(parseInt(elem)850000){
return false;
}
return true;
}
}
//电
话号码
functionisFixTel(elem){
varpattern=/(^[0-9]{3,4}[-|/][0-9]{3,8}$)|(^\([0-9]{3,4}\)[0-9]{3,8}$)/;
if(pattern.test(elem)){
return true;
}else{
//alert
("电话号码格式不正确");
return false;
}
}
functionisMoveTel(elem){
varpattern=/^0{0,1}13[0-9]{9}$/;
if(pattern.test(elem)){
return true;
}else{
//elert
("电话号码不正确");
return false;
}
}
//检
验身份证
functionisIdCardNum(elem){
varpattern="";
varisSame=false;
varnumLength=elem.length;
vartemp;
if(numLength==15){
pattern=/^([0-9]{6})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{3})$/;
}elseif(numLength==18){
pattern=/^([0-9]{6})([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{3})([0-9]{1})$/;
}else{
return false;
}
temp=elem.match(pattern);
if(temp!=null){
if(numLength==15){
vardate15=newDate("19"+temp[2]+"/"+temp[3]+"/"+temp[4]);
isSame=date15.getYear()==temp[2]&&
(date15.getMonth()+1)==temp[3]&&
date15.getDate()==temp[4];
}
if(numLength==18){
vardate18=newDate(temp[2]+"/"+temp[3]+"/"+temp[4]);
isSame=date18.getFullYear()==temp[2]&&
(date18.getMonth()+1)==temp[3]&&
date18.getDate()==temp[4];
}
if(!isSame){
return false;
}
}
return true;
}
//是
否选择单选按钮
functionradioselected(radioBth){
for(i=0;i
//打
开窗口
functionopenwin(page,w,h){
window.open(page,"","toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=no,width="+w+",left=20,top=20,height="+h);
}
//文
件上传
extArray=newArray(".gif",".jpg",".png");
functionLimitAttach(form,file){
allowSubmit=false;
if(!file)return;
while(file.indexOf("\\")!=-1)
file=file.slice(file.indexOf("\\")+1);
ext=file.slice(file.indexOf(".")).toLowerCase();
for(vari=0;i只能上传以下文件格式:\n"
+(extArray.join(""))+"\n请重新选一个有效的新文件"
+"\n或者本地转换文件格式后继续上传");
}
//文
本计数器
functiontextCounter(field,countfield,maxlimit){
if(field.value.length>maxlimit){
field.value=field.value.substring(0,maxlimit);
//

示用户空间已用完
//alert
("不能再输了,只能输入"+maxlimit+"个字符");
//
return
false;
}else
countfield.value=maxlimit-field.value.length;
}
二.测试程序
测试验证脚本check.js
10pt;font-family:Verdana;}
.line{BORDER-TOP-STYLE:none;
BORDER-LEFT-STYLE:none;
BORDER-RIGHT-STYLE:none;
BORDER-BOTTOM-COLOR:#FF0000}
file://End--
>
file://search
if(isSearch(validate.search.value)==false||isNull(validate.search.value)==false||imax(validate.search.value,26)==false){
alert("可能含有非法字符\n"+"或者为空"+"\n或都超过总长26");
validate.search.focus();
return false;
}
file://user
if(isUserId(validate.user.value)==false||imax(validate.user.value,10)==false||imix(validate.user.value,4)==false){
alert("由\"_\"(下划线)和\"a-zA-Z0-9\"组成\n"+"并且以\"_\"(下划线)和\"a-zA-Z\"开头\n"+
"字符串长度必须大于4并且小于10个字符长");
validate.user.focus();
return false;
}
file://realname
if((!isChinese(validate.realname.value)==false)||imax(validate.realname.value,4)==false||imix(validate.realname.value,2)==false){
alert("请输入中文\n"+"不能少于二个字符多于4个字符");
validate.realname.focus();
return false;
}
file://date
if(isShortDate(validate.date.value)==false){
alert("日期格式无效");
validate.date.focus();
return false;
}
file://post
if(isPost(validate.post.value)==false){
alert("邮政编码无效");
validate.post.focus();
return false;
}
file://tel
if(isFixTel(validate.tel.value)==false&&isMoveTel(validate.tel.value)==false){
alert("电话号码无效");
validate.tel.focus();
return false;
}
file://cardid
if(isIdCardNum(validate.cardid.value)==false){
alert("输入的身份证无效"+"\n请核对后重新输入");
validate.cardid.focus();
return false;
}
file://message
if(isNull(validate.message.value)==false||imax(validate.message.value,18)==false){
alert("不能发送空信息");
alert(validate.message.value.length);
validate.message.focus();
return false;
}
/*
*else{
*alert(validate.message.value.length);
*}
*/
return true;
}
file://--End
-->
file://End--
>
不含有非法字符,不超过26字符长,不为空
由字母和数字,下划线组成.且开头的只能是下划线和字母,字符长大于4且小于10,不为空
输入字符中文汉字:不能多于四个,小于二个
李凡">
日期:2004-01-12或者84-1-10可以用"/"代替"|"来间隔
2004/12/21">
邮政编码:6位数字,最大值为(西藏拉萨850000),最小值为(呼和浩特010000)
电话号码:手机或者小灵通或者庭固定电话。如果要使作区号则必须用"-"或者"/"区分号码
身份证
计算文本区还剩余空间:标点。汉字。数字。字母。按键输入下计数减一至到为0
你还可以输入:
个字符
全选
item2       
item3       
item4       
item5       
item6       
item7       
item8       
item1       
item1       
item1       
item1       
item1       
item1       
item1       
文件上传格式限制:".gif",".jpg",".png"
上传"
onClick="LimitAttach(this.form,this.form.uptofile.value);">
提交">
重置">
为了更直观些也就不用表格来扰乱视觉.即。不在意布局样式-->
为了方便单个测试。我对各项进行了初始值设置-->


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7810/showart_36862.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP