页面验证JavaSript脚本样例库
时间:2007-09-12 来源:shengming
页面验证JavaSript脚本样例库.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://oa.37c.cc/public/operation/filedisplay.asp?id=219 -->
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.3809.1800" name=GENERATOR></HEAD>
<BODY><XMP>/*--
//CommonScriptLib.js : This is a common script library;
while using it,make a direction named "js" in current project and name this file to "CommonScriptLib.js";
//In the page add two tags of script,in the first give the src to "/js/CommonScriptLib.js",in the second you can add the else function of self.
//usage: first //like:
//本js文件包括:
// Keypress(ikey):
回车后把焦点放入下一个输入框,参数(ikey)一般为"this". // codetokind(m_input,m_select):
由输入代码到输入名称之间的转化,参数(m_input)为输入框,参数(m_select)为选择框. // kindtocode(m_input,m_select):
由输入名称到输入代码之间的转化,参数(m_input)为输入框,参数(m_select)为选择框. // ChkCodeKind():
检测输入代码和选择名称是否匹配,参数不固定,为偶数。
用例:flag=ChkCodeKind('thisform.f1','thisform.f2',...) // SetToDel(field):
处理删除标记,参数(field)一般为"this"。 // SetToChk(field):
处理选择标记,参数(field)一般为"this"。 // ChkError(flag,Obj):
检测错误,并做显示处理. // ChkDate(date):
检测日期格式'YYYY-MM-DD',参数(date)一般为"this"。
用例:onblur="ChkError(ChkDate(this),this)" // ChkCoDate(Osdate,Oedate):
检测日期格式'YYYY-MM-DD',并比较,参数(Osdate)为开始日期,参数(Oedate)为终止日期。
用例:onblur="ChkError(ChkCoDate(thisform.gsbeg,this),this)" // CheckNull():
检测输入域是否为空,参数不固定。
用例:flag=CheckNull('thisform.f1','thisform.f2',...) // ChkNsrCode(obj):
检查纳税人识别号,参数(obj)一般为"this"。
用例:onblur="ChkError(ChkNsrCode(this),this)" --*/
//-----------------------------------------------------------------------------//
/* 其它函数调用用例:
onblur="ChkError(ChkInt(this),this)" //检测正整数,小于2的16次方
onblur="ChkError(ChkReal(this,2,10),this)" //检测实数,小数位为2位,整数位缺省为10位
onblur="ChkError(ChkDot(this,2),this)" //检测小数,小数点后为2位
onblur="ChkError(isPostNum(this),this)" //检测邮政编码
onblur="ChkError(isEmail(this),this)" //检测Email地址
onblur="ChkError(ChkTelCode(this),this)" //检测电话号码
onblur="ChkError(ChkDigit(this,10,false),this)" //检查不超过10位的数字
*/
//-----------------------------------------------------------------------------// //--------------------------is* : 通用检测函数---------------------------------// //--------------------------去掉字符串的前后空格-------------------------------//
String.prototype.trim=function(){ //去左右空格
return this.replace(/(^\s*)|(\s*$)/g, "");
}
function trim(str) {
for(var i = 0 ; i<str.length && str.charAt(i)==" " ; i++ ) ;
str=str.substring(i,str.length);
for(var i = str.length-1 ; i>=0 && str.charAt(i)==" " ; i-- ) ;
str=str.substring(0,i+1);
return str;
} //------------------------四舍五入,n为小数位数---------------------------------//
function myround(m,n) {
return Math.round(m*Math.pow(10,n))/Math.pow(10,n);
} //-----------------------------------------------------------------------------//
function isBetween(val,lo,hi){
if( val<lo || val>hi ){
return false;
}
else{
return true;
}
} //-----------------------------------------------------------------------------//
function isEmpty(obj){
var str=obj.value;
// if (!str) str=_str;
if(str==""){
return true;
}
else{
return false;
}
} //-----------------------------------------------------------------------------//
function isChar(theChar){
var theMask="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
if(theChar==""){
return true;
}
else if(theMask.indexOf(theChar)==-1){
return false;
}
return true;
} //-----------------------------------------------------------------------------//
function isDigit(theNum){
var theMask="0123456789";
if(theNum==""){
return true;
}
else if(theMask.indexOf(theNum)==-1){
return false;
}
return true;
} //-----------------------检测整数,不对外---------------------------------------//
function isInt(theInt){ if(theInt=="") {
return true;
} else {
for(var i=0;i<theInt.length;i++){
if(isDigit(theInt.charAt(i))==false){
return false;
}
}
return true;
}
} //------------------检测正整数,小于2的16次方----------------------------------//
function ChkInt(Obj) {
var theInt=Obj.value;
if(theInt=="") {
return true;
} else {
for(var i=0;i<theInt.length;i++){
if(isDigit(theInt.charAt(i))==false){
alert("请输入正确的整数字!");
return false;
}
}
var n=eval(theInt);
if (n>65536) {
alert("请输入小于或等于65536的整数!");
return false;
}
return true;
}
} //----------------------------检测邮政编码-----------------------------------//
function isPostNum(_this){
if(isEmpty(_this)){
return true;
}
else if(isBetween(_this.value.length,6,6)==false){
alert("邮政编码应为6个字符长度!");
return false;
}
else if(isInt(_this.value)==false){
alert("邮政编码应为数字!");
return false;
}
return true;
} //----------------------------检测Email地址------------------------------------//
function isEmail(_theStr){
//仅检查"."和"@"
var theStr=_theStr.value;
var atIndex=theStr.indexOf("@");
var doIndex=theStr.indexOf(".",atIndex);
var theSub=theStr.substring(0,doIndex+1);
if(isEmpty(_theStr)){
return true;
}
if((atIndex<1)||(atIndex!=theStr.lastIndexOf("@"))||(doIndex<atIndex+2)||(theStr.length<=theSub.length)){
alert("输入Mail地址格式有误!");
return false;
}
return true;
} //----------------------------检测电话号码------------------------------------//
function ChkTelCode(num)
{
if(isEmpty(num)){
return true;
}
else{
for(i_loop=0;i_loop<num.value.length;i_loop++)
{
if (!(((num.value.charAt(i_loop)>=0)&&(num.value.charAt(i_loop)<=9))||(num.value.charAt(i_loop)=="(")||(num.value.charAt(i_loop)==")")||(num.value.charAt(i_loop)=="-")||(num.value.charAt(i_loop)==",")))
{
alert("电话号码的格式不正确,它只能包括数字、‘,’、‘-’和括号!");
return false;
}
if( ((num.value.charAt(i_loop)==")")&&(num.value.charAt(i_loop+1)!="-" )&&(num.value.charAt(i_loop+1)!=","))||(num.value.charAt(i_loop)=="-")||(num.value.charAt(i_loop)==","))
{
if (((num.value.length-i_loop-1)>8)||((num.value.length-i_loop-1)<7))
{
// alert("电话号码的长度不正确,在区号之后应该是7位或者8位!");
// return false;
}
}
}
if (!((num.value.length>=7)&&(num.value.length<=20)))
{
alert("电话号码的长度不正确,它只能大于或等于7位并且小于或等于20位!");
return false;
}
}
return true;
} //----------------------检测实数,不对外----------------------------------------//
function isReal(_theStr,decLen,intLen){
var theStr=_theStr.value;
if(theStr.indexOf("-")==0) theStr=theStr.substring(1,theStr.length);
var dot1st=theStr.indexOf(".");
var dot2nd=theStr.lastIndexOf(".");
var OK=true;
if(isEmpty(_theStr)){return true;}
if(intLen==null) intLen=10;
if(dot1st==-1){
if(!isInt(theStr)){
return false;
}
else if(theStr.length>intLen){
alert("整数位太长!");
return false;
}
else{
return true;
}
}
else if(dot1st!=dot2nd){return false;}
else if(dot1st==0){return false}
else{
var intPart=theStr.substring(0,dot1st);
var decPart=theStr.substring(dot2nd+1);
if(!isInt(intPart)||!isInt(decPart)){
return false;
}
else if(intPart.length>intLen){
alert("整数位太长!");
return false;
}
else if(decPart.length>decLen){
alert("小数位太长!");
return false;
}
else if(decPart==""){
return false;
}
else{
return true;
}
}
} //---------------------检测实数,小数位为n位,整数位为m位------------------------//
function ChkReal(Oreal,n,m) {
if(Oreal.value=="") {
return true;
}
if (!isReal(Oreal,n,m)) {
alert("请输入正确的数字!");
return false;
} else {
if (eval(Oreal.value) > 9999999999.99) {
alert("错误:输入的数字太大!");
return false;
} else {
return true;
}
}
} //---------------------检测小数,小数点后为n位----------------------------------//
function ChkDot(_theStr,n) {
var theStr=_theStr.value;
if(_theStr.value=="") {
return true;
}
if(ChkReal(_theStr,n)) {
if(eval(theStr)<1) {
return true;
} else {
alert("数字要小于1!");
return false;
}
} else {
return false;
}
} //-------------------检查不超过(或等于)n位的数字----------------------------//
function ChkDigit(obj,n,flag) { //flag=true 等于;flag=false 不超过.
var num=obj.value;
if(num=="") return true;
for(var i=0;i<num.length;i++){
if(isDigit(num.charAt(i))==false){
alert("请输入数字!");
return false;
}
}
if(flag) {
if(num.length != n) {
alert("请输入"+n+"位数字!");
return false;
}
} else {
if(num.length > n) {
alert("请输入不超过"+n+"位的数字!");
return false;
}
}
return true;
} //-----------------------------------------------------------------------------//
function isDate(theDate){
//加入补齐位数为10的函数
theStr=theDate.value;
var the1st=theStr.indexOf("-");
var the2nd=theStr.lastIndexOf("-");
if(the1st==the2nd){
return false;
}
else{
var y=theStr.substring(0,the1st);
var m=theStr.substring(the1st+1,the2nd);
var d=theStr.substring(the2nd+1,theStr.length);
var maxDays=31;
if(isInt(y)==false||isInt(m)==false||isInt(d)==false){
return false;
}
else if(y.length<4){return false}
else if(!isBetween(m,1,12)){return false;}
else if(m==4||m==6||m==9||m==11){maxDays=30;}
else if(m==2){
if(y%4>0){maxDays=28;}
else if(y%100==0&&y%400>0){maxDays=28;}
else{maxDays=29;}
}
if(isBetween(d,1,maxDays)==false){return false;}
else{return true;}
}
} //------------------检测错误,并做显示处理--------------------------------------//
function ChkError(flag,obj) {
if(flag) {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
return true;
} else {
obj.style.color="white";
obj.style.backgroundColor="red";
obj.value="";
obj.focus();
return false;
}
} //-------------------检测域的文字长度不超过n---------------------------------------//
function ChkLength(obj,n) {
//alert(obj.value.length);
if (obj.value.length > n) {
obj.style.color="white";
obj.style.backgroundColor="red";
alert("注意:文字的长度不能超过"+n+"个!");
obj.focus();
return false;
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
return true;
}
} //-----------------------------------------------------------------------------//
//-----------------------------Return to TAB-----------------------------------//
function Keypress(ikey) {
var ieKey=event.keyCode;
var obj;
//alert(ieKey);
if (ieKey == 13) {
for(i_loop = 0;i_loop < document.forms[0].elements.length;i_loop++) {
if (document.forms[0].elements[i_loop] == ikey) {
for(i=i_loop+1;;i++) {
if(i==document.forms[0].elements.length) i=0;
obj=document.forms[0].elements[i];
if(obj.type=="hidden" || obj.readOnly==true || obj.disabled==true) {
continue;
} else {
event.keyCode=0;
obj.focus();
return;
}
}
return;
}
}
}
} //-----------------------------检测日期格式----yyyy-mm-dd----------------------//
//用例:onblur="ChkError(ChkDate(this),this)"
function ChkDate(date)
{
var str=date.value;
var date_month="";
var date_day="";
var date_year="";
var i=0;
var y_m=0;
var m_d=0;
if (date.value!="") {
if ((str.length>10)||(str.length<8))
{
alert("输入的日期格式错误,应该为:YYYY-MM-DD!");
return false;
}
for(i_loop=0;i_loop<str.length;i_loop++) {
if (str.charAt(i_loop)=="-") {
i++;
if (i==1) {
if (i_loop!=4) {
alert("输入的日期中年份的格式错误,应该为:YYYY-MM-DD ");
return false;
}
y_m=i_loop;
} else if(i==2) {
m_d=i_loop;
}
}
}
if ((i==2)&&(m_d==str.length-1)) {
alert("输入的日期格式错误,应该为:YYYY-MM-DD!");
return false;
}
for(i_loop=0;i_loop<4;i_loop++) {
date_year=date_year+str.charAt(i_loop);
}
if (i==2) {
for(i_loop=y_m+1;i_loop<m_d;i_loop++) {
date_month=date_month+str.charAt(i_loop);
}
} else {
for(i_loop=y_m+1;i_loop<str.length;i_loop++) {
date_month=date_month+str.charAt(i_loop);
}
}
if (i==2) {
for(i_loop=m_d+1;i_loop<str.length;i_loop++) {
date_day=date_day+str.charAt(i_loop);
}
}
if (!(ChkYear(date_year) && ChkMon(date_month))){
return false;
}
if (i==2) {
if (!(ChkDay(date_year,date_month,date_day))) {
return false;
}
}
if (m_d==6) {
date.value=InsertStr(date.value,m_d-1,'0');
}
if ((i==1)&&(str.length==6)) {
date.value=InsertStr(date.value,5,'0');
}
if (((str.length-m_d-1)==1)&&(i==2)) {
date.value=InsertStr(date.value,date.value.length-1,'0');
}
}
return true;
} //
function ChkYear(num) //invoke in ChkDate
{
if (!isInt(num)) {
alert("输入的日期中的年份不正确,必须为数字");
return false;
}
if (num<1900 || num>2100) {
alert("输入的日期中的年份不正确,必须处于1900年--2100年之间");
return false;
}
return true;
} //
function ChkMon(num) //invoke in ChkDate
{
if (!isInt(num)) {
alert("输入的日期中的月份不正确,必须为数字");
return false;
}
if (num<1 || num>12) {
alert("输入的日期中的月份不正确,必须处于1--12之间");
return false;
}
return true;
} //
function ChkDay(y,m,d) //invoke in ChkDate
{
var maxDays=31;
if(!isInt(d)){
alert("输入的日期中的日不正确,必须为数字");
return false;
}
else if(m==4||m==6||m==9||m==11){maxDays=30;}
else if(m==2){
if(y%4>0){maxDays=28;}
else if(y%100==0&&y%400>0){maxDays=28;}
else{maxDays=29;}
}
if(d<1 || d>maxDays) {
alert("输入的日期中的日不正确,必须处于1--"+maxDays+"之间");
return false;
} else {
return true;
}
} //
function InsertStr(Str,InsPlace,SubStr) //invoke in ChkDate
{
var s1;
var s2;
s1=Str.substring(0,InsPlace);
s2=Str.substring(InsPlace,Str.length);
s1=s1+SubStr;
s1=s1+s2;
return s1;
}
//-----------------------------比较日期的大小-----------------------------------//
function CompareDate(startDate,endDate) { //yyyy-mm-dd
var sYear=eval(startDate.substring(0,4));
var sMonth=eval(startDate.substring(5,7));
var sDay=eval(startDate.substring(8,10));
var eYear=eval(endDate.substring(0,4));
var eMonth=eval(endDate.substring(5,7));
var eDay=eval(endDate.substring(8,10));
//alert(eYear+eMonth+eDay); if(eYear>sYear) {
return 1;
} else if(eYear<sYear) {
return -1;
} else {
if(eMonth>sMonth) {
return 1;
} else if(eMonth<sMonth) {
return -1;
} else {
if(eDay>sDay) {
return 1;
} else if(eDay<sDay) {
return -1;
} else {
return 0;
}
}
}
} //----------------------检测日期格式,并比较----yyyy-mm-dd----------------------//
//用例:onblur="ChkError(ChkCoDate(thisform.gsbeg,this),this)"
function ChkCoDate(Osdate,Oedate) {
// if(ChkDate(Osdate) && ChkDate(Oedate)) {
if(ChkDate(Osdate)) {
if(ChkDate(Oedate)) {
if(Osdate.value=="" || Oedate.value=="") return true;
if(CompareDate(Osdate.value,Oedate.value)==1) {
return true;
} else {
alert(" 日期关系不正确!\n比如:终止日期应该大于开始日期!");
return false;
}
} else {
Oedate.value="";
return false;
}
} else {
Osdate.value="";
return false;
}
} //-----------------------由税目代码到税目名称之间的转化------------------------//
function codetokind(m_input,m_select){
//本函数用于由税目代码到税目名称之间的转化。
//ss变量用于判断当前"taxmcode"等存在的个数,如果多于2,则需要使用数组,否则直接使用
//其名称来调用其属性和方法。
var i=0;
var ss=0; for(m=0;m<document.forms[0].elements.length;m++){
if(document.forms[0].elements[m].name==m_input.name){
ss++;
}
}
if(ss<2){ // 即:当前只有一行,直接用其名称来调用其属性和方法
return sub_codetokind(m_input,m_select);
}
else{
for(i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i]==m_input){
return sub_codetokind(m_input,document.forms[0].elements[i+1]);
}
}
}
} function sub_codetokind(m_input,m_select) { //invoke in codetokind
var i=0;
var flag=false;
var inputlen;
var selectlen=0;
if(m_select.length<2) {
m_input.value="";
return false;
}
inputlen=m_input.value.length;
for(i=0;i<m_select.options.length;i++){
if(m_select.options[i].value.length>selectlen){
selectlen=m_select.options[i].value.length;
}
}
if(isInt(m_input.value)==false || inputlen>selectlen){
alert("错误:您输入有误,请重新输入或通过下拉列表选择!\n\t注意:请输入"+selectlen+"个数字!");
m_input.value="";
m_select.options[0].selected=true;
return false;
}
for(i=0;i<m_select.options.length;i++){
if(m_select.options[i].value==m_input.value){
m_select.options[i].selected=true;
flag=true;
break;
}
}
if(inputlen==selectlen) {
if(flag) {
if(m_input.style.backgroundColor=="red") {
m_input.style.color="black";
m_input.style.backgroundColor="white";
}
return true;
} else {
alert("错误:您输入有误,请重新输入或通过下拉列表选择!\n\t注意:请输入"+selectlen+"个数字!");
m_input.value="";
m_select.options[0].selected=true;
return false;
}
}
} //----------------------由税目名称到税目代码之间的转化-------------------------//
function kindtocode(m_input,m_select)
{
//本函数用于由税目名称到税目代码之间的转化。
//ss变量用于判断当前"taxmcode"等存在的个数,如果多于2,则需要使用数组,否则直接使用
//其名称来调用其属性和方法。
var i=0;
var ss=0; for(m=0;m<document.forms[0].elements.length;m++){
if(document.forms[0].elements[m].name==m_select.name){
ss++;
}
}
if(ss<2) { // 即:当前只有一行,直接用其名称来调用其属性和方法
return sub_kindtocode(m_input,m_select);
} else {
for(i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i]==m_select){ // i即为焦点字段在form元素中的位置
return sub_kindtocode(document.forms[0].elements[i-1],m_select);
}
}
}
} function sub_kindtocode(m_input,m_select) { //invoke in kindtocode
var flag=false; for(i=0;i<m_select.options.length;i++){
if(m_input.value == m_select.options[i].value) flag=true;
}
if(!(m_input.value == "" || flag)) {
alert("错误:您输入有误,请重新输入或通过下拉列表选择!");
m_input.value="";
m_select.options[0].selected=true;
m_input.focus();
return false;
}
for(i=0;i<m_select.options.length;i++){
if(m_select.options[i].selected){
m_input.value=m_select.options[i].value;
if(m_input.style.backgroundColor=="red") {
m_input.style.color="black";
m_input.style.backgroundColor="white";
}
return true;
}
}
} //----------------------检测输入代码和选择名称是否匹配------------------------//
function ChkCodeKind() {
var n=ChkCodeKind.arguments.length;
var obj1,obj2,objtemp;
var flag=true;
var num=0; for(i=0;i<(n/2);i++) {
obj1=eval(ChkCodeKind.arguments[i*2]);
obj2=eval(ChkCodeKind.arguments[i*2+1]);
if(obj1 && obj2) {
if(!isNaN(obj1.length)){
for(var j=0;j<obj1.length;j++){
if(!(obj1[j].value==" " || trim(obj1[j].value)==obj2[j].options[obj2[j].selectedIndex].value)) {
obj1[j].style.color="white";
obj1[j].style.backgroundColor="red";
if(flag) {
objtemp=obj1[j];
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj1[j].style.backgroundColor=="red") {
obj1[j].style.color="black";
obj1[j].style.backgroundColor="white";
}
}
}
}
else {
if(!(obj1.value==" " || trim(obj1.value)==obj2.options[obj2.selectedIndex].value)) {
obj1.style.color="white";
obj1.style.backgroundColor="red";
if(flag) {
objtemp=obj1;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj1.style.backgroundColor=="red") {
obj1.style.color="black";
obj1.style.backgroundColor="white";
}
}
}
}
}
if(flag) {
return true;
} else {
alert("总共有"+num+"对输入代码和选择名称不匹配!!!");
objtemp.focus();
return false;
}
} //------------------------------处理删除标记-----------------------------------//
function SetToDel(field)
{
var ieKey=event.keyCode;
if (ieKey != 13) {
if (field.value=="X") {
field.value=" ";
// delBlank(field);
} else {
field.value="X";
// setBlank(field);
}
}
} //------------------------------处理选择标记----------------------------------//
function SetToChk(field)
{
var ieKey=event.keyCode;
if (ieKey != 13) {
if (field.value=="√") {
field.value=" ";
} else {
field.value="√";
}
}
}
//---------------------------检测域值是否为空----------------------------------//
//用例:flag=CheckNull('thisform.f1','thisform.f2',...)
function CheckNull() {
var n=CheckNull.arguments.length;
var obj,objtemp;
var flag=true;
var num=0; for(i=0;i<n;i++) {
// alert(checknull.arguments[i]);
obj=eval(CheckNull.arguments[i]);
if(obj) {
if(!isNaN(obj.length)){
for(var j=0;j<obj.length;j++){
if(obj[j].value=="") {
obj[j].style.color="white";
obj[j].style.backgroundColor="red";
if(flag) {
objtemp=obj[j];
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj[j].style.backgroundColor=="red") {
obj[j].style.color="black";
obj[j].style.backgroundColor="white";
}
}
}
}
else {
if(obj.value=="") {
obj.style.color="white";
obj.style.backgroundColor="red";
if(flag) {
objtemp=obj;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
}
}
}
if(flag) {
return true;
} else {
alert("总共有"+num+"个必填项内容不能为空!!!");
objtemp.focus();
return false;
}
}
//-----------------一次运行多个函数,没有调用-----------------------------------//
function MoreFunc() {
var n=MoreFunc.arguments.length;
for(i=0;i<n;i++) {
// alert(MoreFunc.arguments[i]);
eval(MoreFunc.arguments[i]);
}
} //-----------用键盘空格设置X---------------------------------------------------//
function SetToDel_Keypress(obj) {
var ieKey=event.keyCode;
//alert(ieKey);
if (ieKey == 32) {
if (obj.value=="X") {
obj.value=" ";
// delBlank(obj);
} else {
obj.value="X";
// setBlank(obj);
}
} else {
if (obj.value=="X") {
obj.value="X";
} else {
obj.value=" ";
}
}
Keypress(obj);
} //-----------用键盘空格设置√--------------------------------------------------//
function SetToChk_Keypress(obj) {
var ieKey=event.keyCode;
//alert(ieKey);
if (ieKey == 32) {
if (obj.value=="√") {
obj.value=" ";
} else {
obj.value="√";
}
} else {
if (obj.value=="√") {
obj.value="√";
} else {
obj.value=" ";
}
}
Keypress(obj);
} //----------检查纳税人识别号---------------------------------------------------//
//用法:onblur="ChkError(ChkNsrCode(this),this)"
function ChkNsrCode(obj) {
var sum=0;
var ssum="";
if(obj.value=="") return true;
if(ChkDigit(obj,8,true)) {
for(i=0;i<7;i++) {
sum=sum+eval(obj.value.charAt(i));
}
ssum=sum.toString();
if(ssum.charAt(ssum.length-1)==obj.value.charAt(7)) {
return true;
} else {
alert("请输入正确的纳税人识别号!");
return false;
}
} else {
return false;
}
} //-------设置必填项标记,红色的*----------------------------------------------//
function SetColor() {
document.write("<font color=red>*</font>");
} //-----------------------------------------------------------------------------//
//--------------------------登记,维护专用函数---------------------------------//
//-----------------------------------------------------------------------------// //-------------------检测证件号码----------------------------------------------//
//用法:onblur="ChkError(ChkCode(this),this)"
function ChkCode(Obj) {
var code=Obj.value;
if(Obj.value=="") {
return true;
}
if(document.forms[0].ffzjlx) {
if(document.forms[0].ffzjlx.value!="0") return true;
}
if(document.forms[0].zjlx) {
if(document.forms[0].zjlx.value!="0") return true;
}
if(!(code.length==15 || code.length==18)) {
alert("输入的身份证号码的位数不正确,必须为15位或18位!");
return false;
}
for(i=0;i<code.length;i++) {
if(!isDigit(code.charAt(i))) {
alert("请输入数字!");
return false;
}
}
return true;
} function ChkCodegt(Obj) {
var code=Obj.value;
if(Obj.value=="") {
return true;
}
if(isNaN(document.forms[0].ricsfz.length)) {
if(document.forms[0].ricsfz.value!="0") return true;
} else {
for(i_loop = 0;i_loop < document.forms[0].elements.length;i_loop++) {
if (document.forms[0].elements[i_loop] == Obj) {
if(document.forms[0].elements[i_loop-2].value!="0") return true;
break;
}
}
} if(!(code.length==15 || code.length==18)) {
alert("输入的身份证号码的位数不正确,必须为15位或18位!");
return false;
}
for(i=0;i<code.length;i++) {
if(!isDigit(code.charAt(i))) {
alert("请输入数字!");
return false;
}
}
return true;
} //-----------检测小数(百分数%)------------------------------------------------//
function isDot(_theStr,n) {
var theStr=_theStr.value;
if(_theStr.value=="") {
return true;
}
if(ChkReal(_theStr,n)) {
if(eval(theStr)<=100) {
return true;
} else {
alert("数字要小于或等于100!");
return false;
}
} else {
return false;
}
} //-----------------------------------------------------------------------------//
function codetokind_search(m_input,m_select,search){
if(codetokind(m_input,m_select)) {
setkey(search);
} else {
if(m_input.name=="city") {
document.forms[0].street.value="";
document.forms[0].streetlist.options[0].selected=true;
}
}
} //-----------------------------------------------------------------------------//
function kindtocode_search(m_input,m_select,search){
if(kindtocode(m_input,m_select)) {
setkey(search);
} else {
if(m_input.name=="city") {
document.forms[0].street.value="";
document.forms[0].streetlist.options[0].selected=true;
}
}
} //-------------设置起始光标----------------------------------------------------//
function SetCursor(first) {
if(document.forms[0].sign) {
var sflag=document.forms[0].sign.value;
} else {
var sflag="0";
}
var obj=eval(first);
if(obj) {
switch (sflag)
{
case "0":
obj.focus();
break;
case "1":
// document.forms[0].street.value="";
// document.forms[0].streetlist.options[0].selected=true;
document.forms[0].street.focus();
break;
case "2":
var sflag2=document.forms[0].dj.value;
if(sflag2=="2" || sflag2=="6") {
document.forms[0].nsrcode.focus();
} else if(sflag2=="7") {
if(isNaN(document.forms[0].tzfname.length)) {
document.forms[0].tzfname.focus();
} else {
document.forms[0].tzfname[0].focus();
}
} else {
obj.focus();
}
break;
case "3":
if(document.forms[0].tydm) {
document.forms[0].tydm.focus();
} else {
obj.focus();
}
break;
default:
obj.focus();
break;
}
}
return;
} //--------打"X"的不做非空检查--------------------------------------------------//
//---------------------------检测域值是否为空2----------------------------------//
//用例:flag=CheckNull2('thisform.delmark0','thisform.bankcode0','thisform.bankname','thisform.account0','thisform.bzname')
function CheckNull2() {
var n=CheckNull2.arguments.length;
var obj,objtemp;
var flag=true;
var num=0;
var obj1=eval(CheckNull2.arguments[0]); for(i=1;i<n;i++) {
obj=eval(CheckNull2.arguments[i]);
if(obj) {
if(!isNaN(obj.length)){
for(var j=0;j<obj.length;j++){
if((obj1[j].value!="X")&&(obj[j].value=="")) {
obj[j].style.color="white";
obj[j].style.backgroundColor="red";
if(flag) {
objtemp=obj[j];
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj[j].style.backgroundColor=="red") {
obj[j].style.color="black";
obj[j].style.backgroundColor="white";
}
}
}
}
else {
if((obj1.value!="X")&&(obj.value=="")) {
obj.style.color="white";
obj.style.backgroundColor="red";
if(flag) {
objtemp=obj;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
}
}
}
if(flag) {
return true;
} else {
alert("还有"+num+"个必填项内容不能为空!!!");
objtemp.focus();
return false;
}
} /*
function setBlank(field) {
var obj=document.forms[0].delmark0;
if(obj) {
if(!isNaN(obj.length)) {
for(i=0;i<obj.length;i++) {
if(obj[i]==field) {
if(document.forms[0].bankcode0[i].value=="") document.forms[0].bankcode0[i].value=" ";
if(document.forms[0].bankname[i].value=="") document.forms[0].bankname[i].value=" ";
if(document.forms[0].account0[i].value=="") document.forms[0].account0[i].value=" ";
if(document.forms[0].bzname[i].value=="") document.forms[0].bzname[i].value=" ";
return;
}
}
} else {
if(obj==field) {
if(document.forms[0].bankcode0.value=="") document.forms[0].bankcode0.value=" ";
if(document.forms[0].bankname.value=="") document.forms[0].bankname.value=" ";
if(document.forms[0].account0.value=="") document.forms[0].account0.value=" ";
if(document.forms[0].bzname.value=="") document.forms[0].bzname.value=" ";
return;
}
}
}
} function delBlank(field) {
var obj=document.forms[0].delmark0;
if(obj) {
if(!isNaN(obj.length)) {
for(i=0;i<obj.length;i++) {
if(obj[i]==field) {
if(document.forms[0].bankcode0[i].value==" ") document.forms[0].bankcode0[i].value="";
if(document.forms[0].bankname[i].value==" ") document.forms[0].bankname[i].value="";
if(document.forms[0].account0[i].value==" ") document.forms[0].account0[i].value="";
if(document.forms[0].bzname[i].value==" ") document.forms[0].bzname[i].value="";
return;
}
}
} else {
if(obj==field) {
if(document.forms[0].bankcode0.value==" ") document.forms[0].bankcode0.value="";
if(document.forms[0].bankname.value==" ") document.forms[0].bankname.value="";
if(document.forms[0].account0.value==" ") document.forms[0].account0.value="";
if(document.forms[0].bzname.value==" ") document.forms[0].bzname.value="";
return;
}
}
}
}
*/ //----------------检测投资比例,分配比例的和为100%----------------------------//
function CheckBili() {
var n=CheckBili.arguments.length;
var obj,objtemp;
var flag=true;
var sum; for(i=0;i<n;i++) {
obj=eval(CheckBili.arguments[i]);
if(obj) {
if(isNaN(obj.length)){
if(document.forms[0].delmark1.value != "X") {
if(obj.value == "") obj.value="0";
if(eval(obj.value) != 100 && eval(obj.value) != 0) {
if(flag) {
objtemp=obj;
flag=false;
}
obj.style.color="white";
obj.style.backgroundColor="red";
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
}
} else {
sum=0;
for (j=0;j<obj.length;j++) {
if(document.forms[0].delmark1[j].value != "X") {
if(obj[j].value == "") obj[j].value="0";
sum=sum+eval(obj[j].value);
}
}
sum=myround(sum,2);
if(sum != 100 && sum != 0) {
if(flag) {
objtemp=obj[0];
flag=false;
}
for (j=0;j<obj.length;j++) {
if(document.forms[0].delmark1[j].value != "X") {
obj[j].style.color="white";
obj[j].style.backgroundColor="red";
}
}
} else {
for (j=0;j<obj.length;j++) {
if(obj[j].style.backgroundColor=="red") {
obj[j].style.color="black";
obj[j].style.backgroundColor="white";
}
}
}
}
}
}
if(flag) {
return true;
} else {
alert("比例的和应该为100%!");
objtemp.focus();
return false;
}
} //----------------比较从业人数和外籍人数的关系---------------------------------//
function CompareMan() {
cyrs=document.thisform.cyrs;
wjrs=document.thisform.foreign;
if(cyrs.value != "" && wjrs.value != "") {
if(eval(cyrs.value) < eval(wjrs.value)) {
cyrs.style.color="white";
cyrs.style.backgroundColor="red";
wjrs.style.color="white";
wjrs.style.backgroundColor="red";
alert("错误:从业人数不能小于外籍人数!");
cyrs.focus();
return false;
} else {
return true;
}
}
return true;
} //-----------------------------------------------------------------------------//
function setFocus(obj) {
obj.focus();
obj.select();
}
//-----------------------------------------------------------------------------//
//-----------------------------------------------------------------------------//
</XMP></BODY></HTML>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0056)http://oa.37c.cc/public/operation/filedisplay.asp?id=219 -->
<HTML><HEAD>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.3809.1800" name=GENERATOR></HEAD>
<BODY><XMP>/*--
//CommonScriptLib.js : This is a common script library;
while using it,make a direction named "js" in current project and name this file to "CommonScriptLib.js";
//In the page add two tags of script,in the first give the src to "/js/CommonScriptLib.js",in the second you can add the else function of self.
//usage: first //like:
//本js文件包括:
// Keypress(ikey):
回车后把焦点放入下一个输入框,参数(ikey)一般为"this". // codetokind(m_input,m_select):
由输入代码到输入名称之间的转化,参数(m_input)为输入框,参数(m_select)为选择框. // kindtocode(m_input,m_select):
由输入名称到输入代码之间的转化,参数(m_input)为输入框,参数(m_select)为选择框. // ChkCodeKind():
检测输入代码和选择名称是否匹配,参数不固定,为偶数。
用例:flag=ChkCodeKind('thisform.f1','thisform.f2',...) // SetToDel(field):
处理删除标记,参数(field)一般为"this"。 // SetToChk(field):
处理选择标记,参数(field)一般为"this"。 // ChkError(flag,Obj):
检测错误,并做显示处理. // ChkDate(date):
检测日期格式'YYYY-MM-DD',参数(date)一般为"this"。
用例:onblur="ChkError(ChkDate(this),this)" // ChkCoDate(Osdate,Oedate):
检测日期格式'YYYY-MM-DD',并比较,参数(Osdate)为开始日期,参数(Oedate)为终止日期。
用例:onblur="ChkError(ChkCoDate(thisform.gsbeg,this),this)" // CheckNull():
检测输入域是否为空,参数不固定。
用例:flag=CheckNull('thisform.f1','thisform.f2',...) // ChkNsrCode(obj):
检查纳税人识别号,参数(obj)一般为"this"。
用例:onblur="ChkError(ChkNsrCode(this),this)" --*/
//-----------------------------------------------------------------------------//
/* 其它函数调用用例:
onblur="ChkError(ChkInt(this),this)" //检测正整数,小于2的16次方
onblur="ChkError(ChkReal(this,2,10),this)" //检测实数,小数位为2位,整数位缺省为10位
onblur="ChkError(ChkDot(this,2),this)" //检测小数,小数点后为2位
onblur="ChkError(isPostNum(this),this)" //检测邮政编码
onblur="ChkError(isEmail(this),this)" //检测Email地址
onblur="ChkError(ChkTelCode(this),this)" //检测电话号码
onblur="ChkError(ChkDigit(this,10,false),this)" //检查不超过10位的数字
*/
//-----------------------------------------------------------------------------// //--------------------------is* : 通用检测函数---------------------------------// //--------------------------去掉字符串的前后空格-------------------------------//
String.prototype.trim=function(){ //去左右空格
return this.replace(/(^\s*)|(\s*$)/g, "");
}
function trim(str) {
for(var i = 0 ; i<str.length && str.charAt(i)==" " ; i++ ) ;
str=str.substring(i,str.length);
for(var i = str.length-1 ; i>=0 && str.charAt(i)==" " ; i-- ) ;
str=str.substring(0,i+1);
return str;
} //------------------------四舍五入,n为小数位数---------------------------------//
function myround(m,n) {
return Math.round(m*Math.pow(10,n))/Math.pow(10,n);
} //-----------------------------------------------------------------------------//
function isBetween(val,lo,hi){
if( val<lo || val>hi ){
return false;
}
else{
return true;
}
} //-----------------------------------------------------------------------------//
function isEmpty(obj){
var str=obj.value;
// if (!str) str=_str;
if(str==""){
return true;
}
else{
return false;
}
} //-----------------------------------------------------------------------------//
function isChar(theChar){
var theMask="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
if(theChar==""){
return true;
}
else if(theMask.indexOf(theChar)==-1){
return false;
}
return true;
} //-----------------------------------------------------------------------------//
function isDigit(theNum){
var theMask="0123456789";
if(theNum==""){
return true;
}
else if(theMask.indexOf(theNum)==-1){
return false;
}
return true;
} //-----------------------检测整数,不对外---------------------------------------//
function isInt(theInt){ if(theInt=="") {
return true;
} else {
for(var i=0;i<theInt.length;i++){
if(isDigit(theInt.charAt(i))==false){
return false;
}
}
return true;
}
} //------------------检测正整数,小于2的16次方----------------------------------//
function ChkInt(Obj) {
var theInt=Obj.value;
if(theInt=="") {
return true;
} else {
for(var i=0;i<theInt.length;i++){
if(isDigit(theInt.charAt(i))==false){
alert("请输入正确的整数字!");
return false;
}
}
var n=eval(theInt);
if (n>65536) {
alert("请输入小于或等于65536的整数!");
return false;
}
return true;
}
} //----------------------------检测邮政编码-----------------------------------//
function isPostNum(_this){
if(isEmpty(_this)){
return true;
}
else if(isBetween(_this.value.length,6,6)==false){
alert("邮政编码应为6个字符长度!");
return false;
}
else if(isInt(_this.value)==false){
alert("邮政编码应为数字!");
return false;
}
return true;
} //----------------------------检测Email地址------------------------------------//
function isEmail(_theStr){
//仅检查"."和"@"
var theStr=_theStr.value;
var atIndex=theStr.indexOf("@");
var doIndex=theStr.indexOf(".",atIndex);
var theSub=theStr.substring(0,doIndex+1);
if(isEmpty(_theStr)){
return true;
}
if((atIndex<1)||(atIndex!=theStr.lastIndexOf("@"))||(doIndex<atIndex+2)||(theStr.length<=theSub.length)){
alert("输入Mail地址格式有误!");
return false;
}
return true;
} //----------------------------检测电话号码------------------------------------//
function ChkTelCode(num)
{
if(isEmpty(num)){
return true;
}
else{
for(i_loop=0;i_loop<num.value.length;i_loop++)
{
if (!(((num.value.charAt(i_loop)>=0)&&(num.value.charAt(i_loop)<=9))||(num.value.charAt(i_loop)=="(")||(num.value.charAt(i_loop)==")")||(num.value.charAt(i_loop)=="-")||(num.value.charAt(i_loop)==",")))
{
alert("电话号码的格式不正确,它只能包括数字、‘,’、‘-’和括号!");
return false;
}
if( ((num.value.charAt(i_loop)==")")&&(num.value.charAt(i_loop+1)!="-" )&&(num.value.charAt(i_loop+1)!=","))||(num.value.charAt(i_loop)=="-")||(num.value.charAt(i_loop)==","))
{
if (((num.value.length-i_loop-1)>8)||((num.value.length-i_loop-1)<7))
{
// alert("电话号码的长度不正确,在区号之后应该是7位或者8位!");
// return false;
}
}
}
if (!((num.value.length>=7)&&(num.value.length<=20)))
{
alert("电话号码的长度不正确,它只能大于或等于7位并且小于或等于20位!");
return false;
}
}
return true;
} //----------------------检测实数,不对外----------------------------------------//
function isReal(_theStr,decLen,intLen){
var theStr=_theStr.value;
if(theStr.indexOf("-")==0) theStr=theStr.substring(1,theStr.length);
var dot1st=theStr.indexOf(".");
var dot2nd=theStr.lastIndexOf(".");
var OK=true;
if(isEmpty(_theStr)){return true;}
if(intLen==null) intLen=10;
if(dot1st==-1){
if(!isInt(theStr)){
return false;
}
else if(theStr.length>intLen){
alert("整数位太长!");
return false;
}
else{
return true;
}
}
else if(dot1st!=dot2nd){return false;}
else if(dot1st==0){return false}
else{
var intPart=theStr.substring(0,dot1st);
var decPart=theStr.substring(dot2nd+1);
if(!isInt(intPart)||!isInt(decPart)){
return false;
}
else if(intPart.length>intLen){
alert("整数位太长!");
return false;
}
else if(decPart.length>decLen){
alert("小数位太长!");
return false;
}
else if(decPart==""){
return false;
}
else{
return true;
}
}
} //---------------------检测实数,小数位为n位,整数位为m位------------------------//
function ChkReal(Oreal,n,m) {
if(Oreal.value=="") {
return true;
}
if (!isReal(Oreal,n,m)) {
alert("请输入正确的数字!");
return false;
} else {
if (eval(Oreal.value) > 9999999999.99) {
alert("错误:输入的数字太大!");
return false;
} else {
return true;
}
}
} //---------------------检测小数,小数点后为n位----------------------------------//
function ChkDot(_theStr,n) {
var theStr=_theStr.value;
if(_theStr.value=="") {
return true;
}
if(ChkReal(_theStr,n)) {
if(eval(theStr)<1) {
return true;
} else {
alert("数字要小于1!");
return false;
}
} else {
return false;
}
} //-------------------检查不超过(或等于)n位的数字----------------------------//
function ChkDigit(obj,n,flag) { //flag=true 等于;flag=false 不超过.
var num=obj.value;
if(num=="") return true;
for(var i=0;i<num.length;i++){
if(isDigit(num.charAt(i))==false){
alert("请输入数字!");
return false;
}
}
if(flag) {
if(num.length != n) {
alert("请输入"+n+"位数字!");
return false;
}
} else {
if(num.length > n) {
alert("请输入不超过"+n+"位的数字!");
return false;
}
}
return true;
} //-----------------------------------------------------------------------------//
function isDate(theDate){
//加入补齐位数为10的函数
theStr=theDate.value;
var the1st=theStr.indexOf("-");
var the2nd=theStr.lastIndexOf("-");
if(the1st==the2nd){
return false;
}
else{
var y=theStr.substring(0,the1st);
var m=theStr.substring(the1st+1,the2nd);
var d=theStr.substring(the2nd+1,theStr.length);
var maxDays=31;
if(isInt(y)==false||isInt(m)==false||isInt(d)==false){
return false;
}
else if(y.length<4){return false}
else if(!isBetween(m,1,12)){return false;}
else if(m==4||m==6||m==9||m==11){maxDays=30;}
else if(m==2){
if(y%4>0){maxDays=28;}
else if(y%100==0&&y%400>0){maxDays=28;}
else{maxDays=29;}
}
if(isBetween(d,1,maxDays)==false){return false;}
else{return true;}
}
} //------------------检测错误,并做显示处理--------------------------------------//
function ChkError(flag,obj) {
if(flag) {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
return true;
} else {
obj.style.color="white";
obj.style.backgroundColor="red";
obj.value="";
obj.focus();
return false;
}
} //-------------------检测域的文字长度不超过n---------------------------------------//
function ChkLength(obj,n) {
//alert(obj.value.length);
if (obj.value.length > n) {
obj.style.color="white";
obj.style.backgroundColor="red";
alert("注意:文字的长度不能超过"+n+"个!");
obj.focus();
return false;
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
return true;
}
} //-----------------------------------------------------------------------------//
//-----------------------------Return to TAB-----------------------------------//
function Keypress(ikey) {
var ieKey=event.keyCode;
var obj;
//alert(ieKey);
if (ieKey == 13) {
for(i_loop = 0;i_loop < document.forms[0].elements.length;i_loop++) {
if (document.forms[0].elements[i_loop] == ikey) {
for(i=i_loop+1;;i++) {
if(i==document.forms[0].elements.length) i=0;
obj=document.forms[0].elements[i];
if(obj.type=="hidden" || obj.readOnly==true || obj.disabled==true) {
continue;
} else {
event.keyCode=0;
obj.focus();
return;
}
}
return;
}
}
}
} //-----------------------------检测日期格式----yyyy-mm-dd----------------------//
//用例:onblur="ChkError(ChkDate(this),this)"
function ChkDate(date)
{
var str=date.value;
var date_month="";
var date_day="";
var date_year="";
var i=0;
var y_m=0;
var m_d=0;
if (date.value!="") {
if ((str.length>10)||(str.length<8))
{
alert("输入的日期格式错误,应该为:YYYY-MM-DD!");
return false;
}
for(i_loop=0;i_loop<str.length;i_loop++) {
if (str.charAt(i_loop)=="-") {
i++;
if (i==1) {
if (i_loop!=4) {
alert("输入的日期中年份的格式错误,应该为:YYYY-MM-DD ");
return false;
}
y_m=i_loop;
} else if(i==2) {
m_d=i_loop;
}
}
}
if ((i==2)&&(m_d==str.length-1)) {
alert("输入的日期格式错误,应该为:YYYY-MM-DD!");
return false;
}
for(i_loop=0;i_loop<4;i_loop++) {
date_year=date_year+str.charAt(i_loop);
}
if (i==2) {
for(i_loop=y_m+1;i_loop<m_d;i_loop++) {
date_month=date_month+str.charAt(i_loop);
}
} else {
for(i_loop=y_m+1;i_loop<str.length;i_loop++) {
date_month=date_month+str.charAt(i_loop);
}
}
if (i==2) {
for(i_loop=m_d+1;i_loop<str.length;i_loop++) {
date_day=date_day+str.charAt(i_loop);
}
}
if (!(ChkYear(date_year) && ChkMon(date_month))){
return false;
}
if (i==2) {
if (!(ChkDay(date_year,date_month,date_day))) {
return false;
}
}
if (m_d==6) {
date.value=InsertStr(date.value,m_d-1,'0');
}
if ((i==1)&&(str.length==6)) {
date.value=InsertStr(date.value,5,'0');
}
if (((str.length-m_d-1)==1)&&(i==2)) {
date.value=InsertStr(date.value,date.value.length-1,'0');
}
}
return true;
} //
function ChkYear(num) //invoke in ChkDate
{
if (!isInt(num)) {
alert("输入的日期中的年份不正确,必须为数字");
return false;
}
if (num<1900 || num>2100) {
alert("输入的日期中的年份不正确,必须处于1900年--2100年之间");
return false;
}
return true;
} //
function ChkMon(num) //invoke in ChkDate
{
if (!isInt(num)) {
alert("输入的日期中的月份不正确,必须为数字");
return false;
}
if (num<1 || num>12) {
alert("输入的日期中的月份不正确,必须处于1--12之间");
return false;
}
return true;
} //
function ChkDay(y,m,d) //invoke in ChkDate
{
var maxDays=31;
if(!isInt(d)){
alert("输入的日期中的日不正确,必须为数字");
return false;
}
else if(m==4||m==6||m==9||m==11){maxDays=30;}
else if(m==2){
if(y%4>0){maxDays=28;}
else if(y%100==0&&y%400>0){maxDays=28;}
else{maxDays=29;}
}
if(d<1 || d>maxDays) {
alert("输入的日期中的日不正确,必须处于1--"+maxDays+"之间");
return false;
} else {
return true;
}
} //
function InsertStr(Str,InsPlace,SubStr) //invoke in ChkDate
{
var s1;
var s2;
s1=Str.substring(0,InsPlace);
s2=Str.substring(InsPlace,Str.length);
s1=s1+SubStr;
s1=s1+s2;
return s1;
}
//-----------------------------比较日期的大小-----------------------------------//
function CompareDate(startDate,endDate) { //yyyy-mm-dd
var sYear=eval(startDate.substring(0,4));
var sMonth=eval(startDate.substring(5,7));
var sDay=eval(startDate.substring(8,10));
var eYear=eval(endDate.substring(0,4));
var eMonth=eval(endDate.substring(5,7));
var eDay=eval(endDate.substring(8,10));
//alert(eYear+eMonth+eDay); if(eYear>sYear) {
return 1;
} else if(eYear<sYear) {
return -1;
} else {
if(eMonth>sMonth) {
return 1;
} else if(eMonth<sMonth) {
return -1;
} else {
if(eDay>sDay) {
return 1;
} else if(eDay<sDay) {
return -1;
} else {
return 0;
}
}
}
} //----------------------检测日期格式,并比较----yyyy-mm-dd----------------------//
//用例:onblur="ChkError(ChkCoDate(thisform.gsbeg,this),this)"
function ChkCoDate(Osdate,Oedate) {
// if(ChkDate(Osdate) && ChkDate(Oedate)) {
if(ChkDate(Osdate)) {
if(ChkDate(Oedate)) {
if(Osdate.value=="" || Oedate.value=="") return true;
if(CompareDate(Osdate.value,Oedate.value)==1) {
return true;
} else {
alert(" 日期关系不正确!\n比如:终止日期应该大于开始日期!");
return false;
}
} else {
Oedate.value="";
return false;
}
} else {
Osdate.value="";
return false;
}
} //-----------------------由税目代码到税目名称之间的转化------------------------//
function codetokind(m_input,m_select){
//本函数用于由税目代码到税目名称之间的转化。
//ss变量用于判断当前"taxmcode"等存在的个数,如果多于2,则需要使用数组,否则直接使用
//其名称来调用其属性和方法。
var i=0;
var ss=0; for(m=0;m<document.forms[0].elements.length;m++){
if(document.forms[0].elements[m].name==m_input.name){
ss++;
}
}
if(ss<2){ // 即:当前只有一行,直接用其名称来调用其属性和方法
return sub_codetokind(m_input,m_select);
}
else{
for(i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i]==m_input){
return sub_codetokind(m_input,document.forms[0].elements[i+1]);
}
}
}
} function sub_codetokind(m_input,m_select) { //invoke in codetokind
var i=0;
var flag=false;
var inputlen;
var selectlen=0;
if(m_select.length<2) {
m_input.value="";
return false;
}
inputlen=m_input.value.length;
for(i=0;i<m_select.options.length;i++){
if(m_select.options[i].value.length>selectlen){
selectlen=m_select.options[i].value.length;
}
}
if(isInt(m_input.value)==false || inputlen>selectlen){
alert("错误:您输入有误,请重新输入或通过下拉列表选择!\n\t注意:请输入"+selectlen+"个数字!");
m_input.value="";
m_select.options[0].selected=true;
return false;
}
for(i=0;i<m_select.options.length;i++){
if(m_select.options[i].value==m_input.value){
m_select.options[i].selected=true;
flag=true;
break;
}
}
if(inputlen==selectlen) {
if(flag) {
if(m_input.style.backgroundColor=="red") {
m_input.style.color="black";
m_input.style.backgroundColor="white";
}
return true;
} else {
alert("错误:您输入有误,请重新输入或通过下拉列表选择!\n\t注意:请输入"+selectlen+"个数字!");
m_input.value="";
m_select.options[0].selected=true;
return false;
}
}
} //----------------------由税目名称到税目代码之间的转化-------------------------//
function kindtocode(m_input,m_select)
{
//本函数用于由税目名称到税目代码之间的转化。
//ss变量用于判断当前"taxmcode"等存在的个数,如果多于2,则需要使用数组,否则直接使用
//其名称来调用其属性和方法。
var i=0;
var ss=0; for(m=0;m<document.forms[0].elements.length;m++){
if(document.forms[0].elements[m].name==m_select.name){
ss++;
}
}
if(ss<2) { // 即:当前只有一行,直接用其名称来调用其属性和方法
return sub_kindtocode(m_input,m_select);
} else {
for(i=0;i<document.forms[0].elements.length;i++){
if(document.forms[0].elements[i]==m_select){ // i即为焦点字段在form元素中的位置
return sub_kindtocode(document.forms[0].elements[i-1],m_select);
}
}
}
} function sub_kindtocode(m_input,m_select) { //invoke in kindtocode
var flag=false; for(i=0;i<m_select.options.length;i++){
if(m_input.value == m_select.options[i].value) flag=true;
}
if(!(m_input.value == "" || flag)) {
alert("错误:您输入有误,请重新输入或通过下拉列表选择!");
m_input.value="";
m_select.options[0].selected=true;
m_input.focus();
return false;
}
for(i=0;i<m_select.options.length;i++){
if(m_select.options[i].selected){
m_input.value=m_select.options[i].value;
if(m_input.style.backgroundColor=="red") {
m_input.style.color="black";
m_input.style.backgroundColor="white";
}
return true;
}
}
} //----------------------检测输入代码和选择名称是否匹配------------------------//
function ChkCodeKind() {
var n=ChkCodeKind.arguments.length;
var obj1,obj2,objtemp;
var flag=true;
var num=0; for(i=0;i<(n/2);i++) {
obj1=eval(ChkCodeKind.arguments[i*2]);
obj2=eval(ChkCodeKind.arguments[i*2+1]);
if(obj1 && obj2) {
if(!isNaN(obj1.length)){
for(var j=0;j<obj1.length;j++){
if(!(obj1[j].value==" " || trim(obj1[j].value)==obj2[j].options[obj2[j].selectedIndex].value)) {
obj1[j].style.color="white";
obj1[j].style.backgroundColor="red";
if(flag) {
objtemp=obj1[j];
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj1[j].style.backgroundColor=="red") {
obj1[j].style.color="black";
obj1[j].style.backgroundColor="white";
}
}
}
}
else {
if(!(obj1.value==" " || trim(obj1.value)==obj2.options[obj2.selectedIndex].value)) {
obj1.style.color="white";
obj1.style.backgroundColor="red";
if(flag) {
objtemp=obj1;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj1.style.backgroundColor=="red") {
obj1.style.color="black";
obj1.style.backgroundColor="white";
}
}
}
}
}
if(flag) {
return true;
} else {
alert("总共有"+num+"对输入代码和选择名称不匹配!!!");
objtemp.focus();
return false;
}
} //------------------------------处理删除标记-----------------------------------//
function SetToDel(field)
{
var ieKey=event.keyCode;
if (ieKey != 13) {
if (field.value=="X") {
field.value=" ";
// delBlank(field);
} else {
field.value="X";
// setBlank(field);
}
}
} //------------------------------处理选择标记----------------------------------//
function SetToChk(field)
{
var ieKey=event.keyCode;
if (ieKey != 13) {
if (field.value=="√") {
field.value=" ";
} else {
field.value="√";
}
}
}
//---------------------------检测域值是否为空----------------------------------//
//用例:flag=CheckNull('thisform.f1','thisform.f2',...)
function CheckNull() {
var n=CheckNull.arguments.length;
var obj,objtemp;
var flag=true;
var num=0; for(i=0;i<n;i++) {
// alert(checknull.arguments[i]);
obj=eval(CheckNull.arguments[i]);
if(obj) {
if(!isNaN(obj.length)){
for(var j=0;j<obj.length;j++){
if(obj[j].value=="") {
obj[j].style.color="white";
obj[j].style.backgroundColor="red";
if(flag) {
objtemp=obj[j];
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj[j].style.backgroundColor=="red") {
obj[j].style.color="black";
obj[j].style.backgroundColor="white";
}
}
}
}
else {
if(obj.value=="") {
obj.style.color="white";
obj.style.backgroundColor="red";
if(flag) {
objtemp=obj;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
}
}
}
if(flag) {
return true;
} else {
alert("总共有"+num+"个必填项内容不能为空!!!");
objtemp.focus();
return false;
}
}
//-----------------一次运行多个函数,没有调用-----------------------------------//
function MoreFunc() {
var n=MoreFunc.arguments.length;
for(i=0;i<n;i++) {
// alert(MoreFunc.arguments[i]);
eval(MoreFunc.arguments[i]);
}
} //-----------用键盘空格设置X---------------------------------------------------//
function SetToDel_Keypress(obj) {
var ieKey=event.keyCode;
//alert(ieKey);
if (ieKey == 32) {
if (obj.value=="X") {
obj.value=" ";
// delBlank(obj);
} else {
obj.value="X";
// setBlank(obj);
}
} else {
if (obj.value=="X") {
obj.value="X";
} else {
obj.value=" ";
}
}
Keypress(obj);
} //-----------用键盘空格设置√--------------------------------------------------//
function SetToChk_Keypress(obj) {
var ieKey=event.keyCode;
//alert(ieKey);
if (ieKey == 32) {
if (obj.value=="√") {
obj.value=" ";
} else {
obj.value="√";
}
} else {
if (obj.value=="√") {
obj.value="√";
} else {
obj.value=" ";
}
}
Keypress(obj);
} //----------检查纳税人识别号---------------------------------------------------//
//用法:onblur="ChkError(ChkNsrCode(this),this)"
function ChkNsrCode(obj) {
var sum=0;
var ssum="";
if(obj.value=="") return true;
if(ChkDigit(obj,8,true)) {
for(i=0;i<7;i++) {
sum=sum+eval(obj.value.charAt(i));
}
ssum=sum.toString();
if(ssum.charAt(ssum.length-1)==obj.value.charAt(7)) {
return true;
} else {
alert("请输入正确的纳税人识别号!");
return false;
}
} else {
return false;
}
} //-------设置必填项标记,红色的*----------------------------------------------//
function SetColor() {
document.write("<font color=red>*</font>");
} //-----------------------------------------------------------------------------//
//--------------------------登记,维护专用函数---------------------------------//
//-----------------------------------------------------------------------------// //-------------------检测证件号码----------------------------------------------//
//用法:onblur="ChkError(ChkCode(this),this)"
function ChkCode(Obj) {
var code=Obj.value;
if(Obj.value=="") {
return true;
}
if(document.forms[0].ffzjlx) {
if(document.forms[0].ffzjlx.value!="0") return true;
}
if(document.forms[0].zjlx) {
if(document.forms[0].zjlx.value!="0") return true;
}
if(!(code.length==15 || code.length==18)) {
alert("输入的身份证号码的位数不正确,必须为15位或18位!");
return false;
}
for(i=0;i<code.length;i++) {
if(!isDigit(code.charAt(i))) {
alert("请输入数字!");
return false;
}
}
return true;
} function ChkCodegt(Obj) {
var code=Obj.value;
if(Obj.value=="") {
return true;
}
if(isNaN(document.forms[0].ricsfz.length)) {
if(document.forms[0].ricsfz.value!="0") return true;
} else {
for(i_loop = 0;i_loop < document.forms[0].elements.length;i_loop++) {
if (document.forms[0].elements[i_loop] == Obj) {
if(document.forms[0].elements[i_loop-2].value!="0") return true;
break;
}
}
} if(!(code.length==15 || code.length==18)) {
alert("输入的身份证号码的位数不正确,必须为15位或18位!");
return false;
}
for(i=0;i<code.length;i++) {
if(!isDigit(code.charAt(i))) {
alert("请输入数字!");
return false;
}
}
return true;
} //-----------检测小数(百分数%)------------------------------------------------//
function isDot(_theStr,n) {
var theStr=_theStr.value;
if(_theStr.value=="") {
return true;
}
if(ChkReal(_theStr,n)) {
if(eval(theStr)<=100) {
return true;
} else {
alert("数字要小于或等于100!");
return false;
}
} else {
return false;
}
} //-----------------------------------------------------------------------------//
function codetokind_search(m_input,m_select,search){
if(codetokind(m_input,m_select)) {
setkey(search);
} else {
if(m_input.name=="city") {
document.forms[0].street.value="";
document.forms[0].streetlist.options[0].selected=true;
}
}
} //-----------------------------------------------------------------------------//
function kindtocode_search(m_input,m_select,search){
if(kindtocode(m_input,m_select)) {
setkey(search);
} else {
if(m_input.name=="city") {
document.forms[0].street.value="";
document.forms[0].streetlist.options[0].selected=true;
}
}
} //-------------设置起始光标----------------------------------------------------//
function SetCursor(first) {
if(document.forms[0].sign) {
var sflag=document.forms[0].sign.value;
} else {
var sflag="0";
}
var obj=eval(first);
if(obj) {
switch (sflag)
{
case "0":
obj.focus();
break;
case "1":
// document.forms[0].street.value="";
// document.forms[0].streetlist.options[0].selected=true;
document.forms[0].street.focus();
break;
case "2":
var sflag2=document.forms[0].dj.value;
if(sflag2=="2" || sflag2=="6") {
document.forms[0].nsrcode.focus();
} else if(sflag2=="7") {
if(isNaN(document.forms[0].tzfname.length)) {
document.forms[0].tzfname.focus();
} else {
document.forms[0].tzfname[0].focus();
}
} else {
obj.focus();
}
break;
case "3":
if(document.forms[0].tydm) {
document.forms[0].tydm.focus();
} else {
obj.focus();
}
break;
default:
obj.focus();
break;
}
}
return;
} //--------打"X"的不做非空检查--------------------------------------------------//
//---------------------------检测域值是否为空2----------------------------------//
//用例:flag=CheckNull2('thisform.delmark0','thisform.bankcode0','thisform.bankname','thisform.account0','thisform.bzname')
function CheckNull2() {
var n=CheckNull2.arguments.length;
var obj,objtemp;
var flag=true;
var num=0;
var obj1=eval(CheckNull2.arguments[0]); for(i=1;i<n;i++) {
obj=eval(CheckNull2.arguments[i]);
if(obj) {
if(!isNaN(obj.length)){
for(var j=0;j<obj.length;j++){
if((obj1[j].value!="X")&&(obj[j].value=="")) {
obj[j].style.color="white";
obj[j].style.backgroundColor="red";
if(flag) {
objtemp=obj[j];
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj[j].style.backgroundColor=="red") {
obj[j].style.color="black";
obj[j].style.backgroundColor="white";
}
}
}
}
else {
if((obj1.value!="X")&&(obj.value=="")) {
obj.style.color="white";
obj.style.backgroundColor="red";
if(flag) {
objtemp=obj;
flag=false;
num=1;
} else {
num++;
}
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
}
}
}
if(flag) {
return true;
} else {
alert("还有"+num+"个必填项内容不能为空!!!");
objtemp.focus();
return false;
}
} /*
function setBlank(field) {
var obj=document.forms[0].delmark0;
if(obj) {
if(!isNaN(obj.length)) {
for(i=0;i<obj.length;i++) {
if(obj[i]==field) {
if(document.forms[0].bankcode0[i].value=="") document.forms[0].bankcode0[i].value=" ";
if(document.forms[0].bankname[i].value=="") document.forms[0].bankname[i].value=" ";
if(document.forms[0].account0[i].value=="") document.forms[0].account0[i].value=" ";
if(document.forms[0].bzname[i].value=="") document.forms[0].bzname[i].value=" ";
return;
}
}
} else {
if(obj==field) {
if(document.forms[0].bankcode0.value=="") document.forms[0].bankcode0.value=" ";
if(document.forms[0].bankname.value=="") document.forms[0].bankname.value=" ";
if(document.forms[0].account0.value=="") document.forms[0].account0.value=" ";
if(document.forms[0].bzname.value=="") document.forms[0].bzname.value=" ";
return;
}
}
}
} function delBlank(field) {
var obj=document.forms[0].delmark0;
if(obj) {
if(!isNaN(obj.length)) {
for(i=0;i<obj.length;i++) {
if(obj[i]==field) {
if(document.forms[0].bankcode0[i].value==" ") document.forms[0].bankcode0[i].value="";
if(document.forms[0].bankname[i].value==" ") document.forms[0].bankname[i].value="";
if(document.forms[0].account0[i].value==" ") document.forms[0].account0[i].value="";
if(document.forms[0].bzname[i].value==" ") document.forms[0].bzname[i].value="";
return;
}
}
} else {
if(obj==field) {
if(document.forms[0].bankcode0.value==" ") document.forms[0].bankcode0.value="";
if(document.forms[0].bankname.value==" ") document.forms[0].bankname.value="";
if(document.forms[0].account0.value==" ") document.forms[0].account0.value="";
if(document.forms[0].bzname.value==" ") document.forms[0].bzname.value="";
return;
}
}
}
}
*/ //----------------检测投资比例,分配比例的和为100%----------------------------//
function CheckBili() {
var n=CheckBili.arguments.length;
var obj,objtemp;
var flag=true;
var sum; for(i=0;i<n;i++) {
obj=eval(CheckBili.arguments[i]);
if(obj) {
if(isNaN(obj.length)){
if(document.forms[0].delmark1.value != "X") {
if(obj.value == "") obj.value="0";
if(eval(obj.value) != 100 && eval(obj.value) != 0) {
if(flag) {
objtemp=obj;
flag=false;
}
obj.style.color="white";
obj.style.backgroundColor="red";
} else {
if(obj.style.backgroundColor=="red") {
obj.style.color="black";
obj.style.backgroundColor="white";
}
}
}
} else {
sum=0;
for (j=0;j<obj.length;j++) {
if(document.forms[0].delmark1[j].value != "X") {
if(obj[j].value == "") obj[j].value="0";
sum=sum+eval(obj[j].value);
}
}
sum=myround(sum,2);
if(sum != 100 && sum != 0) {
if(flag) {
objtemp=obj[0];
flag=false;
}
for (j=0;j<obj.length;j++) {
if(document.forms[0].delmark1[j].value != "X") {
obj[j].style.color="white";
obj[j].style.backgroundColor="red";
}
}
} else {
for (j=0;j<obj.length;j++) {
if(obj[j].style.backgroundColor=="red") {
obj[j].style.color="black";
obj[j].style.backgroundColor="white";
}
}
}
}
}
}
if(flag) {
return true;
} else {
alert("比例的和应该为100%!");
objtemp.focus();
return false;
}
} //----------------比较从业人数和外籍人数的关系---------------------------------//
function CompareMan() {
cyrs=document.thisform.cyrs;
wjrs=document.thisform.foreign;
if(cyrs.value != "" && wjrs.value != "") {
if(eval(cyrs.value) < eval(wjrs.value)) {
cyrs.style.color="white";
cyrs.style.backgroundColor="red";
wjrs.style.color="white";
wjrs.style.backgroundColor="red";
alert("错误:从业人数不能小于外籍人数!");
cyrs.focus();
return false;
} else {
return true;
}
}
return true;
} //-----------------------------------------------------------------------------//
function setFocus(obj) {
obj.focus();
obj.select();
}
//-----------------------------------------------------------------------------//
//-----------------------------------------------------------------------------//
</XMP></BODY></HTML>
相关阅读 更多 +