javascript 常用的验证函数

标签: javascript 常用的验证函数
//设置焦点函数 
function focusElement(formName, elemName)

 var elem = document.forms[formName].elements[elemName]; 
 elem.focus( ); 
 elem.select( ); 

//不为空函数 
function isNotEmpty(elem)

 var str=elem.value; 
 if(str==null || str.length==0)
 { 
  alert("此项不能为空"); 
  focusElement(elem.form.name,elem.name); 
  return false; 
 }
 else
 { 
  return true; 
 } 
}

// 验证是否是数字 
function isNumber(elem) { 
var str=elem.value; 
var oneDecimal=false; 
var oneChar=0; 
str=str.toString( ); 
for (var i=0; i<str.length; i++) { 
oneChar=str.charAt(i).charCodeAt(0); 
// - 
if (oneChar==45) { 
if (i==0) { 
continue; 
} else { 
alert("Only the first character may be a minus sign."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 

}
// 验证下拉框 
function isChosen(select)

 if (select.selectedIndex==0) 
 { 
  alert("请选择下拉单相应栏目."); 
  focusElement(select.form.name,select.name); 
  return false; 
 }
 else
 { 
  return true; 
 } 


 
// 小数点 
if (oneChar==46) { 
if (!oneDecimal) { 
oneDecimal=true; 
continue; 
} else { 
alert("输入的数字只允许有一个小数点."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 


// 数字只能在0和9之间 
if (oneChar<48 || oneChar > 57) { 
alert("此项只能输入数字."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 


return true; 

// 验证是否是数字电话 
function istel(elem) { 
var str=elem.value; 
var oneDecimal=false; 
var oneChar=0;
str=str.toString( ); 
for (var i=0; i<str.length; i++) { 
oneChar=str.charAt(i).charCodeAt(0); 
if(oneChar==45){continue;} 
if(oneChar<48 || oneChar > 57) { 
alert("此项只能输入数字和'-'号."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 


return true; 

//验证输入数据的长度 
//邮编 
function isLenMatch(elem,lengthNum) { 
var str=elem.value; 
if (str.length != lengthNum) { 
alert("此项内容长度只能为"+lengthNum+"位."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 
} else { 
return true; 



 

//邮件地址验证 
function isEMailAddr(elem) { 
var str = elem.value; 
var re = /^[/w-]+(/.[/w-]+)*@([/w-]+/.)+[a-zA-Z]{2,7}$/; 
if (!str.match(re)) { 
alert("您输入的不是有效的e-mail地址."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 
} else { 
return true; 


//单选按钮验证 
function isValidRadio(radio) { 
var valid=false; 
for (var i=0; i<radio.length; i++) { 
if (radio.checked) { 
return true; 


alert("单选按钮未选中."); 
radio[0].focus(); 
//setTimeout("focusElement('" + radio[0].form.name + "', '" + radio[0].name + "')", 0); 
focusElement(radio[0].form.name,radio[0].name); 
return false; 

/*一、验证类
1、数字验证内
1.1 整数
1.2 大于0的整数 (用于传来的ID的验证)
1.3 负整数的验证
1.4 整数不能大于iMax
1.5 整数不能小于iMin
2、时间类
2.1 短时间,形如 (13:04:06)
2.2 短日期,形如 (2003-12-05)
2.3 长时间,形如 (2003-12-05 13:04:06)
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小时和分钟,形如(12:03)
3、表单类
3.1 所有的表单的值都不能为空
3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判断单选框是否选择。
3.6 判断复选框是否选择.
3.7 复选框的全选,多选,全不选,反选
3.8 文件上传过程中判断文件类型
4、字符类
4.1 判断字符全部由a-Z或者是A-Z的字字母组成
4.2 判断字符由字母和数字组成。
4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
4.4 字符串替换函数.Replace();
5、浏览器类
5.1 判断浏览器的类型
5.2 判断ie的版本
5.3 判断客户端的分辨率

6、结合类
6.1 email的判断。
6.2 手机号码的验证
6.3 身份证的验证


二、功能类

1、时间与相关控件类
1.1 日历
1.2 时间控件
1.3 万年历
1.4 显示动态显示时钟效果(文本,如OA中时间)
1.5 显示动态显示时钟效果 (图像,像手表) 
2、表单类
2.1 自动生成表单
2.2 动态添加,修改,删除下拉框中的元素
2.3 可以输入内容的下拉框
2.4 多行文本框中只能输入iMax文字。如果多输入了,自动减少到iMax个文字(多用于短信发送)

3、打印类
3.1 打印控件
4、事件类
4.1 屏蔽右键
4.2 屏蔽所有功能键
4.3 --> 和<-- F5 F11,F9,F1
4.4 屏蔽组合键ctrl+N
5、网页设计类
5.1 连续滚动的文字,图片(注意是连续的,两段文字和图片中没有空白出现)
5.2 html编辑控件类
5.3 颜色选取框控件
5.4 下拉菜单
5.5 两层或多层次的下拉菜单
5.6 仿IE菜单的按钮。(效果如rongshuxa.com的导航栏目)
5.7 状态栏,title栏的动态效果(例子很多,可以研究一下)
5.8 双击后,网页自动滚屏
6、树型结构。
6.1 asp+SQL版
6.2 asp+xml+sql版
6.3 java+sql或者java+sql+xml
7、无边框效果的制作
8、连动下拉框技术
9、文本排序
---------------------------------------------------------------------------------------

一、验证类
1、数字验证内*/
//整数

/^(-|/+)?/d+$/.test(str)
//大于0的整数 (用于传来的ID的验证)
/^/d+$/.test(str)

//负整数的验证
/^-/d+$/.test(str)
//短时间,形如 (13:04:06)
function isTime(str)
{
var a = str.match(/^(/d{1,2})(?(/d{1,2})/2(/d{1,2})$/);
if (a == null) {alert('输入的参数不是时间格式'); return false;}
if (a[1]>24 || a[3]>60 || a[4]>60)
{
alert("时间格式不对");
return false
}
return true;
}
// 短日期,形如 (2003-12-05)
function strDateTime(str)
{
var r = str.match(/^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2})$/); 
if(r==null)return false; 
var d= new Date(r[1], r[3]-1, r[4]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
}
//长时间,形如 (2003-12-05 13:04:06)
function strDateTime(str)
{
var reg = /^(/d{1,4})(-|//)(/d{1,2})/2(/d{1,2}) (/d{1,2})/d{1,2})/d{1,2})$/; 
var r = str.match(reg); 
if(r==null)return false; 
var d= new Date(r[1], r[3]-1,r[4],r[5],r[6],r[7]); 
return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]&&d.getHours()==r[5]&&d.getMinutes()==r[6]&&d.getSeconds()==r[7]);
}
2.4 只有年和月。形如(2003-05,或者2003-5)
2.5 只有小时和分钟,形如(12:03)
3、表单类
3.1 所有的表单的值都不能为空

3.2 多行文本框的值不能为空。
3.3 多行文本框的值不能超过sMaxStrleng
3.4 多行文本框的值不能少于sMixStrleng
3.5 判断单选框是否选择。
3.6 判断复选框是否选择.
3.7 复选框的全选,多选,全不选,反选
3.8 文件上传过程中判断文件类型
4、字符类
4.1 判断字符全部由a-Z或者是A-Z的字字母组成

4.2 判断字符由字母和数字组成。

4.3 判断字符由字母和数字,下划线,点号组成.且开头的只能是下划线和字母
/^([a-zA-z_]{1})([/w]*)$/g.test(str)
4.4 字符串替换函数.Replace();
5、浏览器类
5.1 判断浏览器的类型
window.navigator.appName
5.2 判断ie的版本
window.navigator.appVersion
5.3 判断客户端的分辨率
window.screen.height; window.screen.width;

//email的判断。
function ismail(mail)
{
return(new RegExp(/^/w+((-/w+)|(/./w+))*/-AT-[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$/).test(mail));
}
6.2 手机号码的验证
//身份证的验证
function isIdCardNo(num)
{
if (isNaN(num)) {alert("输入的不是数字!"); return false;}
var len = num.length, re; 
if (len == 15)
re = new RegExp(/^(/d{6})()?(/d{2})(/d{2})(/d{2})(/d{3})$/);
else if (len == 18)
re = new RegExp(/^(/d{6})()?(/d{4})(/d{2})(/d{2})(/d{3})(/d)$/);
else {alert("输入的数字位数不对!"); return false;}
var a = num.match(re);
if (a != null)
{
if (len==15)
{
var D = new Date("19"+a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
else
{
var D = new Date(a[3]+"/"+a[4]+"/"+a[5]);
var B = D.getFullYear()==a[3]&&(D.getMonth()+1)==a[4]&&D.getDate()==a[5];
}
if (!B) {alert("输入的身份证号 "+ a[0] +" 里出生日期不对!"); return false;}
}
return true;
}

//全选
function checkAll(str)
{
var a = document.getElementsByName(str);
var n = a.length;
for (var i=0; ia .checked = window.event.srcElement.checked;
}
function checkItem(str)
{
var e = window.event.srcElement;
var all = eval("document.hrong."+ str);
if (e.checked)
{
var a = document.getElementsByName(e.name);
all.checked = true;
for (var i=0; i{
if (!a.checked){ all.checked = false; break;}
}
}
else all.checked = false;
}


3.8 文件上传过程中判断文件类型


-------------------------------------------------------------------------------------
1.身份证严格验证:

 

//验证IP地址

function isip(s){
var check=function(v){try{return (v<=255 && v>=0)}catch(x){return false}};
var re=s.split(".")
return (re.length==4)?(check(re[0]) && check(re[1]) && check(re[2]) && check(re[3])):false
}

var s="202.197.78.129";
alert(isip(s))

 

3.加sp1后还能用的无边框窗口!!

 

 


/*--- Special Thanks For andot ---*/

/*
This following code are designed and writen by Windy_sk 
You can use it freely, but u must held all the copyright items!
/

/- Thanks For andot Again ---*/

var CW_width = 400;
var CW_height = 300;
var CW_top = 100;
var CW_left = 100;
var CW_url = "/";
var New_CW = window.createPopup();
var CW_Body = New_CW.document.body;
var content = "";
var CSStext = "margin:1px;color:black; border:2px outset;border-style:{this.style.borderStyle='outset'}, inset'});background-color:buttonface;width:16px;height:14px;font-size:12px;line-height:11px;cursor:Default;";

//Build Window
include.startDownload(CW_url, function(source){content=source});

function insert_content(){
var temp = "";
CW_Body.style.overflow = "hidden";
CW_Body.style.backgroundColor = "white";
CW_Body.style.border = "solid black 1px";
content = content.replace(/]*)>/g,"");
temp += "";
temp += "";
temp += "Chromeless Window For IE6 SP1";
temp += "";
temp += "?";
temp += "0";
temp += "1";
temp += "x";
temp += "";
temp += "";
temp += content;
temp += "

";
temp += "";
CW_Body.innerHTML = temp;
}

setTimeout("insert_content()",1000);

var if_max = true;
function show_CW(){
window.moveTo(10000, 10000);
if(if_max){
New_CW.show(CW_top, CW_left, CW_width, CW_height);
if(typeof(New_CW.document.all.include)!="undefined"){
New_CW.document.all.include.style.width = CW_width;
New_CW.document.all.Max.innerText = "1";
}

}else{
New_CW.show(0, 0, screen.width, screen.height);
New_CW.document.all.include.style.width = screen.width;
}
}

window.onfocus = show_CW;
window.onresize = show_CW;

// Move Window
var drag_x,drag_y,draging=false

function drag_move(e){
if (draging){
New_CW.show(e.screenX-drag_x, e.screenY-drag_y, CW_width, CW_height);
return false;
}
}

function drag_down(e){
if(e.button==2)return;
if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height)return;
drag_x=e.clientX;
drag_y=e.clientY;
draging=true;
e.srcElement.setCapture();
}

function drag_up(e){
draging=false;
e.srcElement.releaseCapture();
if(New_CW.document.body.offsetWidth==screen.width && New_CW.document.body.offsetHeight==screen.height) return;
CW_top = e.screenX-drag_x;
CW_left = e.screenY-drag_y;
}


 


要求:
  (1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
  根据这几条规则,可以与出以下正则表达式:
  (^[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}$)

 
//电话号码的验证
function PhoneCheck(s) {
var str=s;
var reg=/(^[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}$)/
alert(reg.test(str));
}

//检验法人代码
function isCorporationCode(s){
var patrn=/^(/d){15}$/;
if (!patrn.exec(s)) return false
return true
}

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[^`~!@#$%^&*()+-=|///[/]/{/}:;/'/,.<>/? 0-9]{2,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校验密码:只能输入6-15个字母、数字
function isPasswd(s)
{
var patrn=/^[a-zA-Z0-9]{6,15}$/;
if (!patrn.exec(s)) return false
return true
}

//检验体重
function isAvoirdupois(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
var patrn2=/^[1-9]{1}$/;
var intPart=s.indexOf('.');
var decPart=s.lastIndexOf('.');
if (intPart==-1 && patrn.exec(s) && eval(s)>=2 && eval(s)<=200) return true
if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false
if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false
if (eval(s)<2 || eval(s)>200) return false
return true
}

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobile(s)
{
var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校验地区代码
function isAreaCode(s)
{
var patrn=/^(/d){6}$/;
if (!patrn.exec(s)) return false
return true
}

//校验邮政编码
function isPostalCode(s)
{
var patrn=/^[1-9]{1}(/d){5}$/;
if (!patrn.exec(s)) return false
return true
}

//校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|///[/]/{/}:;/'/,.<>/? ]{1}[^`~!@$%^&()+=|///[/]/{/}:;/'/,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校验是否为ip地址
function isIP(s)
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//检验页码是否正确
function isPage(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
if (!patrn.exec(s)) return false
return true
}

//表单输入值错误提示
function vErr(o,s){
alert(s);
if (o) o.focus();
return false;
}

//判断单选
function chkRadio(o){
for (i=0;iif (o.checked) return true;
}
return false;

//====================================表单类================================
// 文件上传过程中判断文件类型
/*

/

//表单的值不能为空
function isNull(elem){
//var pattern=/^/s+|/s+$/;
if(elem.replace(/(^/s+|/s$)/g, "")==""){
return false;
}else{
return true;
}
}
//不能超过imax字符
function imax(elem){
if(elem.length>imax){
return false;
}else{
return true;
}
}
//不能少于imix字符
function imix(elem){
if(elem.lengthreturn false;
}else{
return true;
}
}
//输入为中文判断
function isChinese(elem){
var pattern=/[^/x00-/xff]/g;
if(pattern.test(elem)){
//包含中文
return false;
}else{
//不包含中文
return true;
}
}

/ *********************************************************************************************************************

 

 

 

.cMenu {
FILTER: alpha(opacity=0);BACKGROUND-COLOR: #D6D3CE;BORDER-BOTTOM: #666666 2px solid; BORDER-LEFT: #E4E4E4 2px solid; BORDER-RIGHT: #666666 2px solid; BORDER-TOP: #E4E4E4 2px solid; COLOR: #000000; CURSOR: default; FONT-SIZE: 9pt; color:#000000;FONT-WEIGHT: normal; LINE-HEIGHT: 20px; ; VISIBILITY: hidden; WIDTH: 110px
}
.menuitems {
font-size:9pt;
MARGIN: 2px;
PADDING-BOTTOM: 0px;
PADDING-LEFT: 15px;
PADDING-RIGHT: 3px;
PADDING-TOP: 0px;
}

 

 

 

<!--[if IE]>
οnmοuseοver=highlightie5()>

电话号码的验证

要求:
  (1)电话号码由数字、"("、")"和"-"构成
  (2)电话号码为3到8位
  (3)如果电话号码中包含有区号,那么区号为三位或四位
  (4)区号用"("、")"或"-"和其他部分隔开
  (5)移动电话号码为11或12位,如果为12位,那么第一位为0
  (6)11位移动电话号码的第一位和第二位为"13"
  (7)12位移动电话号码的第二位和第三位为"13"
  根据这几条规则,可以与出以下正则表达式:
  (^[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}$)


<script language="javascript">
function PhoneCheck(s) {
var str=s;
var reg=/(^[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}$)/
alert(reg.test(str));
}
</script>
<input type=text >
<input type=button value="Check">
----------------------------------------------------------------------------------------

<%
'********************************************
'函数功能:正则表达式校验
'参数patrn:要校验的类型
' "User" - 用户名
' "Truename" - 英文姓名
' "Passwd" - 密码
' "Tel" - 电话/传真
' "Mobil" - 手机
' "Date" - 日期(格式:yyyy-mm-dd)
' "Email" - 电子邮件
' "Postalcode" - 邮政编码
' "Search" - 搜索关键字
' "Int" - 整数
'参数strng:要校验的字串
'返回值:校验结果,正确返回true,错误返回false
'********************************************
Function IsVerify(patrn,strng)
strng=Trim(strng)
Select Case patrn
Case "User" '用户名
patrn="^[a-z]{1}([a-z0-9]|[._]){2,19}$"
Case "Truename" '英文姓名
patrn="^[a-zA-Z]{1,30}$"
Case "Passwd" '密码
patrn="^(/w){6,20}$"
Case "Tel" '电话/传真
patrn="^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$"
Case "Mobil" '手机
patrn="^(/d)+[-]?(/d){6,12}$"
Case "Date" '日期(格式:yyyy-mm-dd)
patrn="^[12]{1}(/d){3}[-][01]?(/d){1}[-][0123]?(/d){1}$"
Case "Email" '电子邮件
patrn="^((/w)|[-]|[.])+@(((/w)|[-])+[.])+[a-z]{2,4}$"
Case "Postalcode" '邮政编码
patrn="^[a-z0-9 ]{3,12}$"
Case "Search" '搜索关键字
patrn="^[^`~!@#$%^&*()+=|///[/]/{/}:;/'/,.<>/?]{1}[^`~!@$%^&()+=|///[/]/{/}:;/'/,.<>?]{0,19}$"
Case "Int" '整数
patrn="^[1-9]{1}[0-9]{0,6}$"
Case "Array"
patrn="^[0-9]{1}([0-9]|[/,]){0,150}$"
End Select
Dim regEx
Dim Match
Set regEx = New RegExp
regEx.Pattern = patrn
regEx.IgnoreCase = True
regEx.Global = True
Matches = regEx.test(strng)
IsVerify = Matches
Set regEx = Nothing
End Function

'********************************************
'函数功能:对输入框的特殊字串进行过滤保存
'参数strPass:过滤前的字符串
'返回值:过滤后的字符串
'********************************************
Function SQLencode(byVal strPass)
strPass = Replace(strPass, "&", "&")
strPass = Replace(strPass, "<", "<")
strPass = Replace(strPass, ">", ">")
strPass = Replace(strPass, """", """)
strPass = Replace(strPass, "'", "'")
strPass = Replace(strPass, " ", " ")
strPass = Replace(strPass,chr(13)&chr(10),"<br/>")
SQLencode = strPass
End Function

'********************************************
'函数功能:对SQLencode函数过滤后的字符串进行还原
'参数strPass:经过过滤后的字符串
'返回值:还原的过滤前的字符串
'********************************************
Function SQLdecode(byVal strPass)
If Not isNull(strPass) Then
strPass = Replace(strPass, "<", "<")
strPass = Replace(strPass, ">", ">")
strPass = Replace(strPass, ""","""" )
strPass = Replace(strPass, "'","'" )
strPass = Replace(strPass,"<br/>",chr(13)&chr(10))
End If
SQLdecode = strPass
End Function

'********************************************
'函数功能:生成随机密码(字符为数字与大小写字母集合)
'参数length:密码长度
'返回值:随机密码
'********************************************
Function random(length)
Dim n,str
rnds=""
Randomize
For i=1 To length
n=Int(75*Rnd+48)
If (n>57 and n<65) Or (n>90 and n<97) Then
i=i-1
Else
rnds=rnds&Chr(n)
End If
Next
random=rnds
End Function

'********************************************
'函数功能:对密码进行加密/解密(最大长度为15位)
'********************************************
Function Encrypt(preString)
Dim pwds,s
pwds=""
s=Left(preString,15)
For i=1 To Len(s)
seed=170-Asc(Mid(s,i,1))-i
pwds=pwds & Chr(seed)
Next
Encrypt=pwds
End Function

'********************************************
'函数功能:格式化当前时间字串
'参数:无
'返回值:返回当前时间的纯数字字符串方式的表示(例如:当前时间2001-10-3 2:34:6,返回字符串"20011003023406")
'********************************************
Function TheDate()
y=year(date())
m=month(date())
d=day(date())
h=Hour(time())
n=Minute(time())
s=Second(time())
If Len(m)=1 Then m="0"&m
If Len(d)=1 Then d="0"&d
If Len(h)=1 Then h="0"&h
If Len(n)=1 Then n="0"&n
If Len(s)=1 Then s="0"&s
thedate=y&m&d&h&n&s
End Function

'********************************************
'函数功能:返回字符串的长度
'参数:字符串
'返回值:字符串长度
'********************************************
Function strLen(str)
dim p_len
p_len=0
strlen=0
if trim(str)<>"" then
p_len=len(trim(str))
for xx=1 to p_len
if asc(mid(str,xx,1))<0 then
strlen=int(strlen) + 2
else
strlen=int(strlen) + 1
end if
next
end if
End Function

'********************************************
'函数功能:发送邮件通知
'参数:字符串
'返回值:成功/失败
'********************************************
Function SendMail(ToAddress, Subject, Body)
On Error Resume Next
Set objMail = Server.CreateObject("JMail.Message")
objMail.From = ADR_Email
objMail.FromName = "ADR管理中心"
objMail.Subject = Subject
objMail.AddRecipient ToAddress
objMail.Body = Body
If objMail.Send("") Then
SendMail = True
Else
SendMail = False
End If
If Err.Number<> 0 Then SendMail = False
Set objMail = Nothing
On Error Goto 0
End Function
%>
-----------------------------------------------------------------------------------

//检验法人代码
function isCorporationCode(s){
var patrn=/^(/d){15}$/;
if (!patrn.exec(s)) return false
return true
}

//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[^`~!@#$%^&*()+-=|///[/]/{/}:;/'/,.<>/? 0-9]{2,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校验密码:只能输入6-15个字母、数字
function isPasswd(s)
{
var patrn=/^[a-zA-Z0-9]{6,15}$/;
if (!patrn.exec(s)) return false
return true
}

//检验体重
function isAvoirdupois(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
var patrn2=/^[1-9]{1}$/;
var intPart=s.indexOf('.');
var decPart=s.lastIndexOf('.');
if (intPart==-1 && patrn.exec(s) && eval(s)>=2 && eval(s)<=200) return true
if (intPart!=decPart || intPart==0 || intPart+2!=s.length) return false
if (!patrn.exec(s.substring(0,intPart)) || !patrn2.exec(s.substring(decPart+1))) return false
if (eval(s)<2 || eval(s)>200) return false
return true
}

//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobile(s)
{
var patrn=/^[+]{0,1}(/d){1,3}[ ]?([-]?((/d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}

//校验地区代码
function isAreaCode(s)
{
var patrn=/^(/d){6}$/;
if (!patrn.exec(s)) return false
return true
}

//校验邮政编码
function isPostalCode(s)
{
var patrn=/^[1-9]{1}(/d){5}$/;
if (!patrn.exec(s)) return false
return true
}

//校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|///[/]/{/}:;/'/,.<>/? ]{1}[^`~!@$%^&()+=|///[/]/{/}:;/'/,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}

//校验是否为ip地址
function isIP(s)
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}

//检验页码是否正确
function isPage(s)
{
var patrn=/^[1-9]{1}[0-9]{0,2}$/;
if (!patrn.exec(s)) return false
return true
}

//表单输入值错误提示
function vErr(o,s){
alert(s);
if (o) o.focus();
return false;
}

//判断单选
function chkRadio(o){
for (i=0;i<o.length;i++){
if (o.checked) return true;
}
return false;

 
23:41 2007-5-16
几个表单常用的验证脚本 - JavaScript教程 
作者:转载 来源:惠州维修 
 日期: 2006-11-20    
 
23:43 2007-5-16
<script language="JavaScript">

 

//设置焦点函数 
function focusElement(formName, elemName) { 
var elem = document.forms[formName].elements[elemName]; 
elem.focus( ); 
elem.select( ); 


 

// 验证下拉框 
function isChosen(select){ 
if (select.selectedIndex==0) { 
alert("请选择下拉单相应栏目."); 
focusElement(select.form.name,select.name); 
return false; 
} else { 
return true; 


//不为空函数 
function isNotEmpty(elem) { 
var str=elem.value; 
if(str==null || str.length==0) { 
alert("此项不能为空"); 
focusElement(elem.form.name,elem.name); 
return false; 
} else { 
return true; 



 

// 验证是否是数字 
function isNumber(elem) { 
var str=elem.value; 
var oneDecimal=false; 
var oneChar=0; 
str=str.toString( ); 
for (var i=0; i<str.length; i++) { 
oneChar=str.charAt(i).charCodeAt(0); 
// - 
if (oneChar==45) { 
if (i==0) { 
continue; 
} else { 
alert("Only the first character may be a minus sign."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 


// 小数点 
if (oneChar==46) { 
if (!oneDecimal) { 
oneDecimal=true; 
continue; 
} else { 
alert("输入的数字只允许有一个小数点."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 


// 数字只能在0和9之间 
if (oneChar<48 || oneChar > 57) { 
alert("此项只能输入数字."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 


return true; 

// 验证是否是数字电话 
function istel(elem) { 
var str=elem.value; 
var oneDecimal=false; 
var oneChar=0; 

 

str=str.toString( ); 
for (var i=0; i<str.length; i++) { 
oneChar=str.charAt(i).charCodeAt(0); 
if(oneChar==45){continue;} 
if(oneChar<48 || oneChar > 57) { 
alert("此项只能输入数字和'-'号."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 


return true; 

//验证输入数据的长度 
//邮编 
function isLenMatch(elem,lengthNum) { 
var str=elem.value; 
if (str.length != lengthNum) { 
alert("此项内容长度只能为"+lengthNum+"位."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 
} else { 
return true; 



 

//邮件地址验证 
function isEMailAddr(elem) { 
var str = elem.value; 
var re = /^[/w-]+(/.[/w-]+)*@([/w-]+/.)+[a-zA-Z]{2,7}$/; 
if (!str.match(re)) { 
alert("您输入的不是有效的e-mail地址."); 
setTimeout("focusElement('" + elem.form.name + "', '" + elem.name + "')", 0); 
return false; 
} else { 
return true; 


//单选按钮验证 
function isValidRadio(radio) { 
var valid=false; 
for (var i=0; i<radio.length; i++) { 
if (radio.checked) { 
return true; 


alert("单选按钮未选中."); 
radio[0].focus(); 
//setTimeout("focusElement('" + radio[0].form.name + "', '" + radio[0].name + "')", 0); 
focusElement(radio[0].form.name,radio[0].name); 
return false; 



</script>

 

<script language="JavaScript"> 
function validateForm(form) { 
if (isNotEmpty(form.name1) && isNotEmpty(form.name2)) {;}else{return false; 

</script> 
<title>JS验证程序Sample</title></head> 

 

<body> 
<form method="GET" action="index.htm" validateForm(this)"> 
<p>姓名: 
<input type="text" size="30" /> 
</body> 
</html> 

    
 
 
 
<input event.keyCode>=48&&event.keyCode<=57" οnpaste="return !clipboardData.getData('text').match(//D/)" style="ime-mode:disabled" οndragenter="return false">
1.只允许输入数字
2.禁止汉字
3.允许paste,但不破坏clipboard
4.禁止drag
===================================================
 <script language="JavaScript" type="text/JavaScript">
 function HideMenu() 
 {
 }
 </script>
<body οncοntextmenu="return false" οndragstart="return false" onselectstart ="return false" οncοpy="document.selection.empty()" onbeforecopy="return false" >
禁止复制选择等................
===================================================
<script language="JavaScript" type="text/JavaScript">
//双击鼠标滚动屏幕的代码
var currentpos,timer;
function initialize()
{
timer=setInterval ("scrollwindow ()",30);
}
function sc()
{
clearInterval(timer);
}
function scrollwindow()
{
currentpos=document.body.scrollTop;
window.scroll(0,++currentpos);
if (currentpos !=document.body.scrollTop)
sc();
}
document.οnmοusedοwn=sc
document.οndblclick=initialize
</script>

 23:44 2007-5-16
  如何在用一个程序检测所输入的内容是否合法,以下是本人自己编写的一个程序对日期、数字、整数和特殊字符进行了判断同时还可判断是正数还是负数(对数值类和整数而言) 

< script language="javascript"> 
< !-- 


/** 
LogicalValue:用于判断对象的值是否符合条件,现已提供的选择有: 
integer:整型,还可判断正整型和负整型 
number :数值型,同样可判断正负 
date :日期型,可支持以自定义分隔符的日期格式,缺省是以′-′为分隔符 
string :判断一个字符串包括或不包括某些字符 
返回值: 
true或false 

参数: 
ObjStr :对象标识符——对象名; 
ObjType:对象类型(′integer′,′number′,′date′,′string′之一) 

其他说明: 
当对象值为空时,则返回错误。 

Author:PPDJ 

例子: 
example 1:要求检验输入框text1的输入数据是否是“整型”数据,若不是,则提示 
if (!LogicalValue(′text1′,′integer′)) alert(′Error: Your must input a integer number′); 
example 2:要求检验输入框text1的输入数据是否是“正整型”数据,若不是,则提示 
if (!LogicalValue(′text1′,′integer′,′+′)) alert(′Error: Your must input a positive integer number′); 
example 3:要求检验输入框text1的输入数据是否是“负整型”数据,若不是,则提示 
if (!LogicalValue(′text1′,′integer′,′-′)) alert(′Error: Your must input a negative integer number′); 
exmaple 4:要求检验输入框text1的输入数据是否是数值,若不是,则提示 
if (!LogicalValue(′text1′,′number′)) alert(′Error: Your must input a number′); 
exmaple 5:要求检验输入框text1的输入数据是否是“正”数值,若不是,则提示 
if (!LogicalValue(′text1′,′number′,′+′)) alert(′Error: Your must input a number′); 
exmaple 6:要求检验输入框text1的输入数据是否是“负”数值,若不是,则提示 
if (!LogicalValue(′text1′,′number′,′-′)) alert(′Error: Your must input a number′); 
example 7:要求检验输入框text1的输入数据是否是日期型,若不是,则提示 
if (!LogicalValue(′text1′,′date′)) alert(′Error: Your must input a logical date value′); 
若它的分隔符为A,“A”是一个变量,如常用的′-′和′/′,则用如下语法 
if (!LogicalValue(′text1′,′date′,A)) alert(′Error: Your must input a logical date value′); 
或当分隔符为′/′时 
if (!LogicalValue(′text1′,′date′,′/′)) alert(′Error: Your must input a logical date value′); 
当分隔符为′-′时,可不要参数′-′,可带上 
example 8:要求检验输入框text1的输入表示颜色的字符串是否合理,若不合理,则提示 
if (!LogicalValue(′text1′,′string′,′0123456789ABCDEFabcdef′)) alert(′Error: Your must input a logical color value′); 
example 9:要求检验输入框text1的输入表示密码的字符串是否不含“′"@#$%&^*”这些字符,若含有,则提示 
if (!LogicalValue(′text1′,′string′,′′"@#$%&^*′,false)) alert(′Error: Your password can not contain ′"@#$%&^*′); 
其中false表示不包含有某些字符,true表示必须是哪些字符,缺省值为true 
*/ 
function LogicalValue(ObjStr,ObjType) 

var str=′′; 
if ((ObjStr==null) || (ObjStr==′′) || ObjType==null) 

alert(′函数LogicalValue缺少参数′); 
return false; 

var obj = document.all(ObjStr); 
if (obj.value==′′) return false; 
for (var i=2;i{ 
if (str!=′′) 
str += ′,′; 
str += ′arguments[′+i+′]′; 

str=(str==′′?′obj.value′:′obj.value,′+str); 
var temp=ObjType.toLowerCase(); 
if (temp==′integer′) 

return eval(′IsInteger(′+str+′)′); 

else if (temp==′number′) 

return eval(′IsNumber(′+str+′)′); 

else if (temp==′string′) 

return eval(′SpecialString(′+str+′)′); 

else if (temp==′date′) 

return eval(′IsDate(′+str+′)′); 

else 

alert(′"′+temp+′"类型在现在版本中未提供′); 
return false; 



/** 
IsInteger: 用于判断一个数字型字符串是否为整形, 
还可判断是否是正整数或负整数,返回值为true或false 
string: 需要判断的字符串 
sign: 若要判断是正负数是使用,是正用′+′,负′-′,不用则表示不作判断 
Author: PPDJ 
sample: 
var a = ′123′; 
if (IsInteger(a)) 

alert(′a is a integer′); 

if (IsInteger(a,′+′)) 

alert(a is a positive integer); 

if (IsInteger(a,′-′)) 

alert(′a is a negative integer′); 

*/ 

function IsInteger(string ,sign) 

var integer; 
if ((sign!=null) && (sign!=′-′) && (sign!=′+′)) 

alert(′IsInter(string,sign)的参数出错: sign为null或"-"或"+"′); 
return false; 

integer = parseInt(string); 
if (isNaN(integer)) 

return false; 

else if (integer.toString().length==string.length) 

if ((sign==null) || (sign==′-′ && integer<0) || (sign==′+′ && integer>0)) 

return true; 

else 
return false; 

else 
return false; 


/** 
IsDate: 用于判断一个字符串是否是日期格式的字符串 

返回值: 
true或false 

参数: 
DateString: 需要判断的字符串 
Dilimeter : 日期的分隔符,缺省值为′-′ 

Author: PPDJ 
sample: 
var date = ′1999-1-2′; 
if (IsDate(date)) 

alert(′You see, the default separator is "-"); 

date = ′1999/1/2"; 
if (IsDate(date,′/′)) 

alert(′The date′s separator is "/"); 

*/ 

function IsDate(DateString , Dilimeter) 

if (DateString==null) return false; 
if (Dilimeter==′′ || Dilimeter==null) 
Dilimeter = ′-′; 
var tempy=′′; 
var tempm=′′; 
var tempd=′′; 
var tempArray; 
if (DateString.length<8 && DateString.length>10) 
return false; 
tempArray = DateString.split(Dilimeter); 
if (tempArray.length!=3) 
return false; 
if (tempArray[0].length==4) 

tempy = tempArray[0]; 
tempd = tempArray[2]; 

else 

tempy = tempArray[2]; 
tempd = tempArray[1]; 

tempm = tempArray[1]; 
var tDateString = tempy + ′/′+tempm + ′/′+tempd+′ 8:0:0′;//加八小时是因为我们处于东八区 
var tempDate = new Date(tDateString); 
if (isNaN(tempDate)) 
return false; 
if (((tempDate.getUTCFullYear()).toString()==tempy) && (tempDate.getMonth()==parseInt(tempm)-1) && (tempDate.getDate()==parseInt(tempd))) 

return true; 

else 

return false; 



/** 
IsNumber: 用于判断一个数字型字符串是否为数值型, 
还可判断是否是正数或负数,返回值为true或false 
string: 需要判断的字符串 
sign: 若要判断是正负数是使用,是正用′+′,负′-′,不用则表示不作判断 
Author: PPDJ 
sample: 
var a = ′123′; 
if (IsNumber(a)) 

alert(′a is a number′); 

if (IsNumber(a,′+′)) 

alert(a is a positive number); 

if (IsNumber(a,′-′)) 

alert(′a is a negative number′); 

*/ 

function IsNumber(string,sign) 

var number; 
if (string==null) return false; 
if ((sign!=null) && (sign!=′-′) && (sign!=′+′)) 

alert(′IsNumber(string,sign)的参数出错: sign为null或"-"或"+"′); 
return false; 

number = new Number(string); 
if (isNaN(number)) 

return false; 

else if ((sign==null) || (sign==′-′ && number<0) || (sign==′+′ && number>0)) 

return true; 

else 
return false; 



/** 
SpecialString: 用于判断一个字符串是否含有或不含有某些字符 

返回值: 
true或false 

参数: 
string : 需要判断的字符串 
compare : 比较的字符串(基准字符串) 
BelongOrNot: true或false,“true”表示string的每一个字符都包含在compare中, 
“false”表示string的每一个字符都不包含在compare中 

Author: PPDJ 
sample1: 
var str = ′123G′; 
if (SpecialString(str,′1234567890′)) 

alert(′Yes, All the letter of the string in ′1234567890′′); 

else 

alert(′No, one or more letters of the string not in ′1234567890′′); 

结果执行的是else部分 
sample2: 
var password = ′1234′; 
if (!SpecialString(password,′′"@#$%′,false)) 

alert(′Yes, The password is correct.′); 

else 

alert(′No, The password is contain one or more letters of ′"@#$%′′); 

结果执行的是else部分 
*/ 
function SpecialString(string,compare,BelongOrNot) 

if ((string==null) || (compare==null) || ((BelongOrNot!=null) && (BelongOrNot!=true) && (BelongOrNot!=false))) 

alert(′function SpecialString(string,compare,BelongOrNot)参数错误′); 
return false; 

if (BelongOrNot==null || BelongOrNot==true) 

for (var i=0;i{ 
if (compare.indexOf(string.charAt(i))==-1) 
return false 

return true; 

else 

for (var i=0;i{ 
if (compare.indexOf(string.charAt(i))!=-1) 
return false 

return true; 




//--> 
< /script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值