/**//*------------------------------------------------------------
?dateDlg(inputid,initDate,startYear,endYear)? 彈出時間窗口
?compareDate(end,s)?????????????????????????? 與當前時間比較
?compareTwoDate(startDate,endDate,s)????????? 比較兩個時間
?isNumber(text,name)????????????????????????? 判斷全是數字(true)?????????????????????????
?isChar(text,addtemp,name,include)??????????? 判斷符合要求字符
?isEmail(text)??????????????????????????????? 判斷是電子郵件
?isPid(text)????????????????????????????????? 判斷是身份證號
?isNull(text,name)??????????????????????????? 判斷為空則提示(true)
?getLength(text)????????????????????????????? 獲取長度
?lengthEquals(text,name,num)????????????????? 確定長度(true)
?lengthless(text,name,num)???????????? 長度不少于(true)
?lengthmore(text,name,num)???????????? 長度不大于(true)
??????? checkPassword(text,text1)??????????????????? 檢驗兩次輸入密碼是否一致(true)
? ------------------------------------------------------------
//checkData()放在jsp頁面
<script language="JavaScript" src="check.js"></script>
<script language="JavaScript">
function checkData()
{
?if(isNull(form1.name,'帳號')){}
?else if(lengthEquals(form1.name,"帳號",8)){}
?else if (getLength(form1.name)>13){}
?else{
? form1.submit();
?}?
}
</script>
? ------------------------------------------------------------*/
/**//*------------------------------------------------------------
?彈出時間選擇小控件
?inputid--文本框name
?initDate--初始日期,為空時是當前時間
?startYear--日期范圍的開始日期
?endYear--日期范圍的結束日期
?使用例子onClick="dateDlg(end,'1999-11-12','1980','2010')"
? ------------------------------------------------------------*/
function dateDlg(inputid,initDate,startYear,endYear)
{
?var pattern = /^(19|20)([0-9]){2}$/;
?flag=pattern.test(startYear);
?if(!flag)startYear=1900;
?flag=pattern.test(endYear);
?if(!flag)endYear=2050;
?if(inputid.value==null||inputid.value=='')
? {
?? if(initDate==null||initDate=='')
?? {
???? currentDate = new Date();?
?? }
?? else{
??? currentDate = initDate;
?? }
? }
?else{
?? currentDate = inputid.value;
? }
?var arguments = new Array(startYear,endYear,0,0,0)
?var pattern = /^(19|20)([0-9]){2}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;
?flag=pattern.test(currentDate);
?if(flag)
?{
? iYear=currentDate.substring(0,4);
? iMonth=currentDate.substring(5,7);
? iDay=currentDate.substring(8,10);
? arguments = new Array(startYear,endYear,iYear,iMonth,iDay)
?}
?showx = event.screenX - event.offsetX + 18;
?showy = event.screenY - event.offsetY - 210;
?var features =
? 'dialogWidth:'? + 192 + 'px;' +
? 'dialogHeight:' + 210 + 'px;' +
? 'dialogLeft:'?? + showx???? + 'px;' +
? 'dialogTop:'??? + showy???? + 'px;' +
? 'directories:no; localtion:no; menubar:no; status=no; toolbar=no;scrollbars:yes;Resizeable=no';
?retval = window.showModalDialog("../js/calendar.htm", arguments , features );
?var calctrl = eval(inputid)
?if( retval != null ){
? calctrl.value = retval;
?}else{
? //alert("canceled");
?}
}
/**//*------------------------------------------------------------
?Trim()去左右空格
? ------------------------------------------------------------*/
String.prototype.Trim = function()
{
??? return this.replace(/(^\s*)|(\s*$)/g, "");
}
String.prototype.LTrim = function()
{
??? return this.replace(/(^\s*)/g, "");
}
String.prototype.Rtrim = function()
{
??? return this.replace(/(\s*$)/g, "");
}
/**//*------------------------------------------------------------
?判斷密碼是否有單引號
? ------------------------------------------------------------*/
function isNotYinhao(s)
{??
??? var yin;
?var temp="'";
?for(yin=0; yin < s.length; yin++ )
?{
? var ch = s.charAt(yin);
? if(temp.indexOf(ch)>=0)
? {
?? return true;
? }
?}
?return false;
}
/**//*------------------------------------------------------------
?定義變量
? ------------------------------------------------------------*/
var i,j;
/**//*------------------------------------------------------------
?和當前日期比較,如果當前日期大于輸入日期則提示
?end----輸入日期
?s----提示信息
?使用例子onClick="compareDate(end,'選擇日期不能在今天之前!')"
? ------------------------------------------------------------*/
function compareDate(end,s){
var a=new Date();
var b=end.value;
if(((Number(a.getYear())-Number(b.substring(0,4)))*356+
?????? (Number(a.getMonth())-Number(b.substring(5,7))+1)*31+
??? (Number(a.getDate())-Number(b.substring(8,10))))>0)
?{
? alert(s);
? end.focus();
?}
}
/**//*------------------------------------------------------------
?兩個時間進行比較,當開始日期大于結束日期則提示
?startDate----開始日期
?endDate------結束日期
?使用例子onClick="compareTwoDate(startDate,endDate,'開始日期不能大于結束日期!')"
? ------------------------------------------------------------*/
function compareTwoDate(startDate,endDate,s)
{
var a=startDate.value;
var b=endDate.value;
if(((Number(a.substring(0,4))-Number(b.substring(0,4)))*356+
?????? (Number(a.substring(5,7))-Number(b.substring(5,7)))*31+
??? (Number(a.substring(8,10))-Number(b.substring(8,10))))>0)
?{
? alert(s);
? startDate.focus();
?}
}
/**//*------------------------------------------------------------
?判斷是否為數字類型,如不是數字類型則提示
?text-------輸入文本
?name-------提示的名字
?使用例子onBlur="compareTwoDate(this,'電話號碼')"
? ------------------------------------------------------------*/
function isNumber(text,name)
{
? var temp="0123456789";
?? for(j=0; j<text.value.length; j++ )
?? {???
???? var ch = text.value.Trim().charAt(j);
? if(temp.indexOf(ch)==-1)
? {
?? alert(name+"應為數字類型!");
?? text.focus();
?? return true;
? }?
?? }
}
/**//*------------------------------------------------------------
?判斷兩次密碼輸入是否一致
?text-------新密碼
?name-------再次輸入新密碼
?使用例子checkPassword(form1.newpass,form1.newpass1)
? ------------------------------------------------------------*/
function checkPassword(text,text1)
{
? var newpass=text.value.Trim();
? var newpass1=text1.value.Trim();
? if(newpass!=newpass1){
??? alert("兩次輸入新密碼不一致!");
??? text.focus();
??? return true;
? }
}
/**//*------------------------------------------------------------
?判斷是否包含非法字符,如含非法字符則提示
?text-------輸入文本
?addtemp----除英文和數字外還可包含的字符
?name-------提示的名字
?include----提示中不允許包含的字符
?使用例子onBlur="compareTwoDate(this,'@_','郵件','%*$')"
? ------------------------------------------------------------*/
function isChar(text,addtemp,name,include)
{
? var temp="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+addtemp;
?? for(j=0; j<text.value.length; j++ )
?? {???
???? var ch = text.value.Trim().charAt(j);
? if(temp.indexOf(ch)==-1)
? {
?? alert(name+"中不允許包含'"+include+"'等字符!");
?? text.focus();
?? break;
? }?
?? }
}
/**//*------------------------------------------------------------
?判斷輸入的是否為電子郵件,如含非法字符則提示
?text-------輸入的電子郵件
?使用例子onBlur="isEmail(this)"
? ------------------------------------------------------------*/
function isEmail(text)
{??
?var email=text.value.Trim();
?var m=email.indexOf("@");
?var n=email.indexOf(".");
?if(email!="")
?{
? if(m<1||m>email.length-3)
? {
?? alert("請輸入正確的電子郵件格式!");
?? text.focus();
?? return true;
? }
? else if(n<m+2||n>email.length-2)
? {
?? alert("請輸入正確的電子郵件格式!");
?? text.focus();
?? return true;
? }
?}
}
/**//*------------------------------------------------------------
?判斷輸入文本是否為身份證號碼,如為不正確則提示
?text-------輸入的身份證號碼
?使用例子onBlur="isPid(this)"
? ------------------------------------------------------------*/
function isPid(text)
{
?var pid=text.value.Trim();
?var temp="0123456789";
?var temp1="0123456789xX";
?if(pid!=""){
?if(pid.length==15)
?{
???? for(j=0; j<15; j++ )
???? {???
?? var ch = pid.charAt(j);
?? if(temp.indexOf(ch)==-1)
?? {
??? alert("請輸入正確的身份證號碼!");
??? text.focus();
??? break;
?? }
? }??????
?}
?else if(pid.length==18)
?{
???? for(j=0; j<pid.length-1; j++ )
???? {???
?? var ch = pid.charAt(j);
?? if(temp.indexOf(ch)==-1)
?? {
??? alert("請輸入正確的身份證號碼!");
??? text.focus();
??? break;
?? }
? }??????
? var ch1 = pid.charAt(pid.length-1);
? if(temp1.indexOf(ch1)==-1)
?? {
??? alert("請輸入正確的身份證號碼!");
??? text.focus();
?? }???
?}
?else{
? alert("身份證號碼的應為15位或18位!");
? text.focus();
?}}
}
/**//*------------------------------------------------------------
?判斷輸入文本是否為空,如為空則提示
?text-------輸入文本
?使用例子onBlur="isNull(this,'姓名')"
? ------------------------------------------------------------*/
function isNull(text,name)
{
?if(text.value.Trim()==null||text.value.Trim()=="")
?{
? alert(name+"不能為空!");
? text.focus();
? return true;
?}
}
/**//*------------------------------------------------------------
?獲取文本框長度,中文作為兩個字符處理
?text-------輸入文本
?使用例子getLength(form1.name)
? ------------------------------------------------------------*/
function getLength(text)
{
?var temp="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
?temp=temp+"?temp=temp+"·~!◎#¥%……※×()——+§-=÷【】『』;‘:“,。、《》?";
?var len = text.value.Trim().length;
?for(j=0;j<text.value.Trim().length;j++)
?{
? var ch= text.value.Trim().charAt(j);
? if(temp.indexOf(ch)==-1){
? len++;
? }
?}
?return len;
}
/*------------------------------------------------------------
?lengthEquals(text,name,num)??? 相等長度
?lengthless(text,name,num)????? 長度不少于
?lengthmore(text,name,num)????? 長度不大于
?獲取文本框長度,中文作為兩個字符處理
?text-------輸入文本
?使用例子getLength(form1.name,'姓名',8)
? ------------------------------------------------------------*/
function lengthEquals(text,name,num)
{
?if(getLength(text)!=num)
?{
? alert("請輸入"+num+"位"+name+"!")
? text.focus();
? return true;
?}
}
function lengthless(text,name,num)
{
?if(getLength(text)<num)
?{
? alert(name+"不能少于"+num+"位!")
? text.focus();
? return true;
?}
}
function lengthmore(text,name,num)
{
?if(getLength(text)>num)
?{
? alert(name+"不能大于"+num+"位!")
? text.focus();
? return true;
?}
}
/*------------------------------------------------------------
?判斷bodyText輸入文本是否為空,如為空則提示
?bodyText-------輸入文本
?使用例子onBlur="isNullBody('姓名')"
? ------------------------------------------------------------*/
function isNullBody(name)
{
? var bodyText = frames["Dvbbs_Composition"].document.body.innerText;
? if(bodyText.length==0) {
????? frames["Dvbbs_Composition"].focus();
????? alert(name+"不能為空!");
????? return true;
? }
}
/*------------------------------------------------------------
?獲取文本框長度,中文作為兩個字符處理
?bodyText-------輸入文本
?使用例子isLengthBody(form1.name)
? ------------------------------------------------------------*/
function isLengthBody(text,name)
{
??? if (text.value.length > 600) {
??????? frames["Dvbbs_Composition"].focus();
??????? alert(name+"不能超過600!");
?return true;
??? }
}
/*------------------------------------------------------------
?檢查是否含有”'“號
??????? 有,則返回true
??????? 無, 則返回false
? ------------------------------------------------------------*/
function isTheChar(text,name)
{
??? var re= /'/g;
??? var arr = text.match(re);
??? if (arr == null)
??????? return false;
??? else
??????? return true;
}