2007年9月20日 星期四

正規化-判斷電子信箱是否正確

Email = document.getElementById('EMailemail').value;
if ( !Email.match(/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/)){
   alert('電子信箱輸入不正確!\n\n');
}

if (Email.match(/[^a-z^A-Z^0-9@._-]/g)){
  alert("電子信箱只能為英數字或@._-等,不能為其他的特殊符號!\n\n");
}

正規化-不能為中文或全形

if ( document.getElementById('TEL').value.match(/^[\u0391-\uFFE5]/g)){
  alert("家用電話不能為中文或全形的!\n\n";

}

正規化-需為英文或數字

if ( Account.match(/[^a-z^A-Z^0-9]/g)){
  alert("帳號必須是英文字或數字!\n\n";
}

去除空白

function trimAll(strvalue) {
  ptntrim = /(^\s*)(\s*$)/g;
  return strvalue.replace(ptntrim,"");
}

function chk_data(cmdAction){
  Code = trimAll(document.getElementById('Code').value);

sql server編碼為utf-8,找出簡體的資料

sql server定序為繁體中文
--搜尋類別 找簡體字,字的前面需加N
EX:
SET @sWhereKeyType = KEY_1 LIKE N''%'+ @sKeyword+'%'''

2007年9月19日 星期三

若選擇全部底下的某個checkbox有check,則某個Button就 Enable 若無選擇任何checkbox,則某個Button就Disable

/* 若選擇全部底下的某個checkbox有check,則某個Button就 Enable 若無選擇任何checkbox,則某個Button就Disable
 參數1:form的Id
 參數2:checkbox名稱
 參數3:Button的Id */
function check_Button_Enable(fm, chk_name, BID){
  var frm = document.getElementById(fm);
  var counts = frm.elements[chk_name].length; //找出物件
  if (typeof(counts) == "undefined"){ //指只有一個checkbox
    if (frm.elements[chk_name].checked) {
      document.getElementById(BID).disabled = false;
    }
    else {
      document.getElementById(BID).disabled = true; //若checkbox不選,則Button就Disable
    }
  }
  else {
    if (counts > 0 ){
       for (var i=0; i< counts; i++){
          if (frm.elements[chk_name][i].checked == true){
             document.getElementById(BID).disabled = false; //若有某個checkbox選,則Button就 Enable
             return false;
          }
          else {
             document.getElementById(BID).disabled = true;
          }
       }
     }
     else {
       document.getElementById(BID).disabled = true;
     }
   }
}

checkbox 需點選,某個Button才Enable

/* checkbox 需點選,某個Button才Enable
 參數1:checkbox的Id
 參數2:Button的Id */
function Button_Enable(ChkID, BID){
  if(document.getElementById(ChkID).checked){
    document.getElementById(BID).disabled = false;
  }
  else {
    document.getElementById(BID).disabled = true;
  }
}

送出checkbox 選擇的資料

/* 送出checkbox 選擇的資料
 參數1:隱藏欄位的ID--自由使用
 參數2:隱藏欄位的值--自由使用
 參數3:送出form的id
 參數4:checkbox的名字
 參數5:詢問內容
 參數6:若無選擇,顯示的文字 */
function send_data(cmdAction, cmdValue, fm, chkname, show1, show2){
  var frm = document.getElementById(fm);
  var counts = frm.elements[chkname].length; //找出物件

  var DeleteCount = 0;
  if (typeof(counts) == "undefined"){ //指只有一個checkbox
    if (frm.elements[chkname].checked) {
      DeleteCount++;
    }
  }
  else {
    for (var i=0; i< counts; i++){
       if (frm.elements[chkname][i].checked){
          DeleteCount++;
       }
    }
  }
  
  if (DeleteCount > 0){
    flag = confirm(show1);
      if (flag){
        //有資料才給資料
        if (cmdAction != ''){
           document.getElementById(cmdAction).value=cmdValue;
        }

        document.getElementById(fm).submit();
      }
      else {
        return false;
      }
   }
   else {
     alert(show2);
     return false;
   }
}

若選擇全部底下的某個checkbox沒check,則把checkbox 選擇全部的check拿掉

/* 若選擇全部底下的某個checkbox沒check,則把checkbox 選擇全部的check拿掉
 參數1:form的Id
 參數2:checkbox名稱
 參數3:選擇全部的checkbox名稱*/
function select_all_remove(fm, chk_name, chkall_name){
  var frm = document.getElementById(fm);
  var counts = frm.elements[chk_name].length; //找出物件

  if (typeof(counts) == "undefined"){ //指只有一個checkbox
    if (frm.elements[chk_name].checked) {
      document.getElementById(chkall_name).checked = frm.elements[chk_name].checked;
    }
    else {
      document.getElementById(chkall_name).checked = false; //若checkbox不選,則選擇全部的check要拿掉
      }
    }
   else {
    if (counts > 0 ){
        for (var i=0; i< counts; i++){
          if (frm.elements[chk_name][i].checked == false){
             document.getElementById(chkall_name).checked = false; //若有某個checkbox不選,則選擇全部的check要拿掉
             return false;
          }
          else {
             document.getElementById(chkall_name).checked = true;            }
        }
     }
     else {
        document.getElementById(chkall_name).checked = false;
     }
   }
}

checkbox 選擇全部

/* checkbox 選擇全部
參數1:form的Id
參數2:checkbox名稱
參數3:選擇全部的checkbox名稱 */
function select_all(fm, chk_name, chkall_name){
  var frm = document.getElementById(fm);
  var counts = frm.elements[chk_name].length; //找出物件

  if (typeof(counts) == "undefined"){ //指只有一個checkbox
    frm.elements[chk_name].checked = document.getElementById(chkall_name).checked;
  }
  else {
   if (counts > 0 ){
     for (var i=0; i< counts; i++){
       frm.elements[chk_name][i].checked = document.getElementById(chkall_name).checked;
     }
   }
   else {
     frm.elements[chk_name][i].checked = false;
   }
  }
}

驗證IP

function chk_data(cmdAction){
  var msg = "";
 Code = document.getElementById('IP').value;

  var reg = /^(([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.){3}([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])((-([1-9]\d?|1\d\d|2[0-4]\d|25[0-5]))?|(\/([12]?\d|3[0-2]))?)$/;
  
  if(!reg.test(Code)){
 msg = msg + 'IP錯誤!\n\n';
  }

  if ( msg != "" ){
  alert(msg);
  return false;
  }
}

2007年9月17日 星期一

InfoPower的wwDBGrid的picture Mask

    內容來源:http://www.ayton.id.au/gary/it/Delphi/D_Valid1.htm
    examples:
  • # = any digit; ? = any letter; & = any letter, converted to uppercase; @ = any character;

  • ! = any character converted to uppercase; ; = next character to be used literally;

  • [abc] = optional sequence of characters abc

  • { } = grouping operator
    eg. {Red, Green, Blue}
    eg. {Red,Gr[ay,een],B{l{ack,ue},rown},White,Yellow}
  • * = repeat the following character any number of times:
    eg. *5{#} = specify 5 numbers in a row
    eg. *! = any number or any character with all letters converted to uppercase
    eg. &*? = letters with 1st letter capitalised

ASP顯示MsSQL錯誤訊息

if err.number <> 0 then
  Response.write err.number & err.description & err.source
End if

2007年9月15日 星期六

加快開機速度

讓一些不需要開機時就執行的程式,在開機時不執行,這樣可加快開機的速度。
步驟一:按下執行

步驟二:在執行打入msconfig


步驟三:把不想在開機時執行的程式取消


2007年9月12日 星期三

setTimeout 和 setInterval…

參考:http://www.takka.com.hk/jstutor/jsindex.htm
   http://neural.cs.nthu.edu.tw/jang/  

setTimeout( )
是設定一個指定等候時間 (單位是千分之一秒, millisecond), 時間到了, 瀏覽器就會執行一個指定的 method 或 function
ex: 第一個參數為要執行的method 或 function,第二個參數為等候的時間
  function helloWord(){
   alert("Hello");
  }
  setTimeout("alert('Hello')", 1000) ;
  setTimeout("helloWord()", 1000) ;

setInterval()
每隔「時間長度」所指定的時間(以1/1000秒為單位)後,瀏覽器就會去執行「"JavaScript的命令列"」,
ex:第一個參數為要執行的method 或 function,第二個參數為每隔的時間
  setInterval("showTime()", 1000); //每一秒更新一次