複製程式碼 程式碼如下:
//wanghui於20031020增加了一個檢驗業務存取和處理位址連接埠號碼的function checkPort();
function toChnDigit(num)
{
var t = parseInt(num) ;
if(t==0) return "零";
if(t==1) return "一";
if(t==2) return "二";
if (t==3) return "三";
if(t==4) return "四";
if(t==5) return "五";
if(t==6 ) return "六";
if(t==7) return "七";
if(t==8) return "八";
if(t==9) return "九" ;
return "";
}
//@CheckItem@ OPT-HuTie-20031208 最佳化:新增屏蔽所有按鈕的公用函數
function disableAllButtons(){
for(var i= 0;ivar tmp = document.all.tags("input")[i];
if(tmp.type== "button" || tmp.type=="submit" ||tmp.type=="reset"){
tmp.disabled = true;
}
}
}
/ /增加trim函數
String.prototype.trim = function()
{
return this.replace(/(^s*)|(s*$)/g, "");
}
//函數名稱:checkNUM
//功能介紹:檢查是否為數字
//參數說明:要檢查的數字
//回傳值:1為是數字,0為不是數字
function checkNum(Num) {
var i,j,strTemp;
strTemp = "0123456789.";
if ( Num.length == 0)
return 0
for (i = 0;i j = strTemp.indexOf(Num.charAt(i));
if (j == -1) {
//說明有字元不是數字
return 0;
}
}
//說明是數字
return 1;
}
//函數名稱:checkNUM
///功能介紹:檢查是否為數字
//參數說明:要檢查的數字
//回傳值:1為是數字,0為不是數字
function checkIntNum(Num) {
var i ,j,strTemp;
strTemp = "0123456789";
if ( Num.length == 0)
return 0
for (i = 0;i j = strTemp.indexOf(Num.charAt(i));
if (j == -1) {
//說明有字元不是數字
return 0;
}
}
//說明是數字
return 1;
}
//函數名稱:checkEmail
//功能介紹:檢查是否為Email Address
//參數說明:檢查的字串
//回傳值:0:不是1:是
function checkEmail(a) {
//@CheckItem@ Bug141-hutie-20030821 修改介面:Email位址要做禁止中文校驗
var reg = /[^u0000-u00FF]/;
if(a.match(reg)!=null){
return 0;//有漢字
}
var i=a.length;
var temp = a.indexOf('@');
var tempd = a.indexOf('.');
if (temp > 1) {
if ((i-temp) > 3){
if ((i-tempd)>0){
return 1;
}
}
}
return 0;
}
//函數名稱:checkTEL
//功能介紹:檢查是否為電話號碼
//參數說明:要檢查的字串
//回傳值:1為合法,0為不合法
function checkTel(tel)
{
var i,j,strTemp;
strTemp = "0123456789- ()";
for (i=0;i{
j = strTemp.indexOf(tel.charAt(i));
if (j==-1)
{
//說明有字符不合法
return 0;
}
}
//說明合法
return 1;
}
//函數名稱:checkLength
//功能介紹:檢查字串的長度
//參數說明:要檢查的字串
//回傳值:長度值
function checkLength(strTemp)
{
var i,sum;
sum = 0;
for(i=0;i{
//@CheckItem@ BUG-Renhj-20040604 最佳化:將驗證的函數改為128以類的為單字元。避免「·」符號
// if ((strTemp.charCodeAt(i)>=0) && (strTemp.charCodeAt(i)if ((strTemp.charCodeAt(i)>= 0) && (strTemp.charCodeAt(i)sum = sum 1;
else
sum = sum 2;
}
return sum;
}
//函數名稱:checkSafe
//功能介紹:檢查是否含有"'", '"',"", ";", "、"
//參數說明:要檢查的字串
//回傳值:0:是1:不是
function checkSafe(a)
{
fibdn = new Array ("'" ,'"',">" , "i = fibdn.length;
j = a.length;
for (ii=0;ii {
for (jj=0;jj{
temp1 = a.charAt(jj);
temp2 = fibdn[ii];
if (temp1== temp2)
{
return 0;
}
}
}
return 1;
}
//函數名稱:checkChar
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////! :檢查是否含有非字母字元
//參數說明:要檢查的字串
//回傳值:0:含有1:全部為字母
function checkChar(str)
{
var strSource ="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.()& ";
var ch;
var i;
var temp;
for (i=0;i{
ch = str.charAt(i);
temp = strSource.indexOf(ch);
if (temp==-1)
{
return 0 ;
}
}
return 1;
}
//函數名稱:checkCharOrDigital
//功能介紹:檢查是否含有非數字或字母
//參數說明:要檢查的字串
//回傳值:0:含有1:全部為數字或字母
function checkCharOrDigital(str)
{
var strSource = "0123456789abcdefghijklmnopqr.
var ch;
var i;
var temp;
for (i = 0;i{
ch = str .charAt(i);
temp = strSource.indexOf(ch);
if (temp == -1)
{
return 0;
}
}
return 1;
}
//函數名稱:checkChinese
//功能介紹:檢查是否含有漢字
//參數說明:要檢查的字串
//回傳值:0 :含有1:沒有
function checkChinese(strTemp)
{
var i,sum;
for(i=0;i{
if ((strTemp.charCodeAt(i)255))
return 0;
}
return 1;
}
//函數名:compareTime()
//功能介紹: 比較時間大小
//參數說明:beginYear開始年,beginMonth開始月,benginDay開始日,beginH開始小時,beginM開始分鐘,
// endYear結束年,endMonth結束月,endMonth結束日,endH結束小時,endM結束分鐘
//回傳值:true 表示開始時間大於結束時間,false 相反
function compareTime(beginYear,beginMonth,benginDay,beginH, beginM,endYear,endMonth,endDay,endH,endM){
var date1 = new Date(beginYear,beginMonth-1,benginDay,beginH,beginM);
var date2 = new Date(endYear,endMonth-1, endDay,endH,endM);
if(date1.getTime()>date2.getTime()){
return false;
}
return true;
}
///函數名稱:compareDate()
//功能介紹: 比較日期大小
//參數說明:beginYear開始年,beginMonth開始月,benginDay開始日
// endYear結束年,endMonth結束月,endMonth結束日
//傳回值:0:true 表示開始時間大於結束時間,false 相反
function compareDate(beginYear,beginMonth,benginDay,endYear,endMonth,endDay){
var date1 = new Date( beginYear,beginMonth-1,benginDay);
var date2 = new Date(endYear,endMonth-1,endDay);
if(date1.getTime()>date2.getTime()){
return false ;
}
return true;
}
//函數名稱:checkUrl
//功能介紹:檢查Url是否合法
//參數說明:要檢查的字串
//傳回值:true:合法false:不合法。
函數checkURL(strTemp)
{
if(strTemp.length==0) return false;
if(checkChinese(strTemp)==0) 回傳false;
if (strTemp. toUpperCase().indexOf("HTTP://") != 0 && strTemp.toUpperCase().indexOf("HTTPS://") != 0){
return false;
}
返回true;
}
// @CheckItem@ OPT-Renhj-20030704 提供公共的去處空格的方法
//清除左側空格
function js_ltrim(deststr)
{
if(deststr ==空)回傳「」;
var pos=0;
var retStr=new String(deststr);
if (retStr.lenght==0) return retStr;
while (retStr.substring(pos,pos 1)==" ") pos ;
retStr=retStr.substring(pos);
返回(retStr);
}
//清除右側空格
function js_rtrim(deststr)
{
if(deststr==null)return "";
var retStr=new String(deststr);
var pos=retStr.length; 🎜>if (pos==0) 回傳retStr;
while (pos && retStr.substring(pos-1,pos)==" " ) pos--;
retStr=retStr.substring(0,pos );
返回(retStr);
}
//清除左邊和右邊空格
function js_trim(deststr)
{
if(deststr==null)return "";
var retStr=new String(deststr);
var pos=retStr.length;
if (pos==0) 返回retStr;
retStr=js_ltrim(retStr);
retStr== js_rtrim(retStr);
返回retStr;
}
//格式化輸入的日期字串,輸入的如:"2003-9-12" 輸出:"2003-09-12"
function formatDateStr(inDate){
if ( inDate==null||inDate=="") return "";
var beginDate = inDate.split("-");
var mYear=beginDate[ 0];
var mMonth=beginDate[1];
var mDay=beginDate[2];
mMonth=((mMonth.length==1)?("0" mMonth):mMonth);
mDay=((mDay.length==1)?("0" mDay):mDay);
return mYear "-" mMonth "-" mDay;
}
//由wanghuiuiui增加20031020檢查URL位址的連接埠的合法性,必須為小於65535的數字
function checkPort(inValue1,inValue2){
//先檢查第一個參數的合法性,如果第二個參數為null ,則第一個參數表示簡訊業務的'業務處理位址'
if(inValue1 != null && inValue1.value != ""){
var array1 = inValue1.value.split(":") ;
if(array1.length >=4){ //如果以':'拆分群集容量為四,則有兩個':',所以不合法。
if(inValue2==null) alert("業務處理位址連接埠格式錯誤");
else alert("業務存取位址連接埠格式錯誤");
inValue1.focus();
return false;
}
if(array1.length >= 3) {
port1 = array1[2];
if ((pos1 = port1.indexOf("/")) >= 0>if ((pos1 = port1.indexOf("/")) >= 0 ){ //查看連接埠後面有沒有'/',如果有,取該符號以前的就是連接埠
port1 = port1.substring(0,pos1)
}
if ( port1 == "" || checkIntNum(port1) == 0 || port1>65535){
if(inValue2 == null) alert("業務處理位址連接埠必須為數字且不能大於65535");
else alert("業務存取位址連接埠必須為數字且不能大於65535");
inValue1.focus();
return false;
}
}
}
//再檢查第二個參數的合法性
if(inValue2 != null && inValue2.value != ""){
var array2 = inValue2.value.split(":");
if(array2.length > =4){
alert("業務處理位址連接埠格式錯誤");
inValue2.focus();
return false;
}
if(array2.length >= 3) {
port2 = array2[2];
if ((pos2 = port2.indexOf("/")) >= 0){
port2 = port2.substring(0,pos2)
}
if ( port2 == "" || checkIntNum(port2) == 0 || port2>65535){
alert("業務處理位址連接埠必須為數字且不能大於65535");
inValue2 .focus();
return false;
}
}
}
return true;
}
//obj:資料物件
//dispStr :失敗提示內容顯示字串
function checkUrlValid( obj, dispStr)
{
if(obj == null)
{
alert("傳入物件為空");
return false;
}
var str = obj.value;
var urlpatern0 = /^https?://. $/i;
if(!urlpatern0.test(str))
{
alert(dispStr "不合法:必須以'http://'或'https://'開頭!");
obj.focus();
return false;
}
var urlpatern2= /^https?://(([a-zA-Z0-9_-]) (.)?)*(:d )?. $/i;
if(!urlpatern2 .test(str))
{
alert(dispStr "連接埠號碼必須為數字且應在1-65535之間!");
obj.focus();
return false;
}
var urlpatern1 =/^https?://(([a-zA-Z0-9_-]) (.)?)*(:d )?(/((.)?(?) ?=?&?[a-zA-Z0-9_-](?)?)*)*$/i;
if(!urlpatern1.test(str))
{
alert(dispStr "不合法,請檢查!");
obj.focus();
return false;
}
var s = "0";
var t =0;
var re = new RegExp(":\d ","ig");
while((arr = re.exec(str))!=null)
{
s = str.substring(RegExp .index 1,RegExp.lastIndex);
if(s.substring(0,1)=="0")
{
alert(dispStr "連接埠號碼不能以0開頭!");
obj.focus();
return false;
}
t = parseInt(s);
if(t65535)
{
alert (dispStr "連接埠號碼必須為數字且應在1-65535之間!");
obj.focus();
return false;
}
}
return true;
}
//函式名稱:checkVisibleEnglishChr
//功能介紹:檢查是否為可顯示英文字元( !"#$%&'()* ,-./0123456789:;?@ ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~)
//參數說明:要檢查的字串
//傳回值:true|false
//add by renhj 2004. function checkVisibleEnglishChr(strTemp)
{
var i;
for(i=0;i{
if ((strTemp.charCodeAt(i)126))
return false;
}
return true;
}
//函數名稱:checkInputChr
//功能介紹:檢查是否含有非Input字元
//參數說明:要檢查的字串
//回傳值:false:含有true:全部為可Input字元
//add by renhj 2004.01.05
function checkInputChr(str)
{
var notinput = ""'";
var i;
for (i = 0; notinput != null && i if (str.indexOf(notinput.charAt(i)) >= 0) {//若有
return false;
}
}
return true;
}
//函數名稱:checkTelExt
//功能介紹:檢查是否為電話號碼,且無分機號碼
//參數說明:要檢查的字串
//傳回值: 1為是合法,0為不合法
function checkTelExt(tel)
{
var i,count,isNumber;
count = 0; //有幾個連續的數字字串
isNumber = 0; //不是數字
for (i=0;i{
//判斷目前是否數字
if(checkIntNum(tel.charAt(i )) == 1)
{
if(isNumber == 0)
{
count = count 1;
}
isNumber = 1;
}else{
isNumber = 0;
}
if (count > 2)
{
//說明有字元不合法或有分機號碼
return 0;
}
}
if((checkIntNum(tel.charAt(0)) == 1)&&
(checkIntNum(tel.charAt(tel.length-1)) == 1)){
//說明合法
return 1;
}else{
//說明有字元不合法
return 0;
}
}
//函數名稱:checkFormdata
//功能介紹:檢查Form對象
//參數說明:
//obj:要檢查的對象,
//name:要檢查的物件的中文名稱,
//length:檢查的物件的長度(//notnull:為true則檢查非空,
//notSpecChar:為true則檢查有無特殊字符,
//notChinessChar:為true則檢查有無中文字符,
//numOrLetter:為true則檢查只能為數字或英文字母,
//pNumber:為true則檢查只能為正整數,
//傳回值:false:檢查不通過true:全部為可Input字元
//add by renhj 2004.03.19
//@CheckItem@ BUG:1641:718 -Renhj-20040902-Add5 修改校驗數字的資訊
function checkFormdata(obj,name,length,notnull,notSpecChar,notChinessChar,numOrLetter,pNumber){
//檢查物件
if (!obj) {alert("目標不是對象,處理失敗!");return false;}
var msg;
var ilen;
//偵測漢字
if (notChinessChar&&(checkChinese(obj.value) != 1)){
msg=name "不能包含漢字!";
alert(msg);
obj.focus();
return false;
}
/ /偵測特殊字元
if(notSpecChar&&(!checkInputChr(obj.value))){
var notinput = ""'";
msg=name "有非法字元(" notinput ")! ";
alert(msg);
obj.focus();
return false;
}
//偵測長度
if(length>=0&&&(checkLength(obj. value)>length)){
ilen=length/2;
if(pNumber){
msg=name "不能超過" length "個數字! ";
}else if(notChinessChar){
msg=name "不能超過" length "個英文! ";
}else{
msg=name "不能超過" length "個英文或" ilen "個漢字! ";
}
alert(msg);
obj.focus();
return false;
}
//偵測非空白
if(notnull&&obj.value= =""){
msg="請輸入" name "! ";
alert(msg);
obj.focus();
return false;
}
//偵測只能為數字或英文字母
re = /[W_ ]/;
if (numOrLetter&&re.exec(obj.value)) {
msg=name "只能為數字或英文字母! ";
alert(msg);
obj.focus();
return false;
}
//偵測只能為正整數
re = /[ D_]/;
if (pNumber&&re.exec(obj.value)) {
msg=name "只能為正整數! ";
alert(msg);
obj.focus();
return false;
}
return true;
}