posts - 12,comments - 7,trackbacks - 0

          1、將字符轉換成數據

             1)return str*1+1;
             
          2)return parseInt(str);//return parseFloat(str);
             3)new Number(str); 


          2、parentElement和parentNode區別

             第一個是IE dom,第二個是標準DOM;換一個非ie瀏覽器試試就知道區別了(myie或maxthon或greenbrowser或tt之類都是ie瀏覽器……)


          3、JS中的trim()——去前后的空格

             String.prototype.trim=function(){return this.replace(/(^\s*)|(\s*$)/g,"");}
             使用:
          "    test str  ".trim();返回結果:"test str"


          4、報錯:missing ( before function parameters

             不知道為什么,放到struts中會報這樣的錯,在其他工程下不會報錯,估計是JS格式不對;
             例如:把function String.prototype.trim(){
          return this.replace(/(^\s*)|(\s*$)/g,"");}修改為:
             String.prototype.trim
          =function() {return this.replace(/(^\s*)|(\s*$)/g,"");}這樣就不會報錯了。


          5、window.showModalDialog不緩存

             在Sturts的Action中加入:
             response.setHeader(
          "Pragma","No-Cache");
             response.setHeader(
          "Cache-Control","No-Cache");
             response.setDateHeader(
          "Expires"0);


          6、類似與Java中的startWith()和endWith()方法

          String.prototype.endWith=function(str){
           
          if(str==null||str==""||this.length==0||str.length>this.length)
            
          return false;
           
          if(this.substring(this.length-str.length)==str)
            
          return true;
           
          else
            
          return false;
           
          return true;
          }

          String.prototype.startWith
          =function(str){
           
          if(str==null||str==""||this.length==0||str.length>this.length)
            
          return false;
           
          if(this.substr(0,str.length)==str)
            
          return true;
           
          else
            
          return false;
           
          return true;
          }

            應用:
          "123456".startWith("123");-->結果為true;
            應用:
          "123456".endWith("456");-->結果為true;


          7、限制錄入的分數只能在(0~100之間),而且最多為一位小數,且小數的數字只能為0或者5

            String.prototype.limitDigit=function(){//限制最多為1位小數(返回值true/false)
            var parttern=/^(\d+)(\.{0|5})?$/;
            
          return parttern.test(this.replace(/(^\s*)|(\s*$)/g,""));


          8、String有個屬性length,但是它不能區分英文字符,計算中文字符和全角字符。但是在數據存儲的時候中文和全角都是用兩個字節來存儲的,所有需要額外處理一下。自己寫了個函數,返回String正真的長度:

           String.prototype.codeLength=function(){
           var len
          =0;
           
          if(this==null||this.length==0)
            
          return 0;
           var str
          =this.replace(/(^\s*)|(\s*$)/g,"");//去掉空格
           for(i=0;i<str.length;i++)
            
          if(str.charCodeAt(i)>0&&str.charCodeAt(i)<128)
             len
          ++;
            
          else 
             len
          +=2;
           
          return len;


          9、徹底屏蔽鼠標右鍵

             <body oncontextmenu="window.event.returnValue=false">
             或者:
          <body oncontextmenu="self.event.returnValue=false">
             或者:
          <body oncontextmenu="return false">


          10、防止剪切,復制,粘貼

             <body oncopy="return false" oncut="return false" onpaste="return false">


          11、關閉輸入法

             <input type="text/password" style="ime-mode:disabled">
             
          <textarea style="ime-mode:disabled"></textarea>


          12、防止被人frame(盜鏈)

            <script>
            
          if(top.location!=self.location)
              top.location
          =self.location;
            
          </script> 


          13、網頁不能被另存為

            <noscript><iframesrc=*.html></iframe></noscript> 


          14、按TAB鍵移動到下一個輸入框時,光標停在文本框文字的最后,方便用戶繼續輸入

          <script>
          function moveEnd()
          {
          var e=event.srcElement;
          var r=e.createTextRange();
          r.moveStart('character',e.value.length);
          r.collapse(
          true);
          r.select();
          }
          </script>
          <input type='text' value='0592' onfocus="moveEnd()"> 


          15、判斷上一頁的來源(我感覺無效

             document.referrer


          16、最小化、最大化、關閉窗口(關閉窗口:無效)

          <object id='winMin' classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
          <param name="Command" value="Minimize"></object>
          <object id='winMax' classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
          <param name="Command" value="Maximize"></object>
          <object id='winClo' classid="clsid:ADB880A6-D8FF-11CF-9377-00AA003B7A11">
          <param name="Command" value="Close"></object>
          <input type='button' value='最小化' onclick=winMin.Click()>
          <input type='button' value='最大化' onclick=winMax.Click()>
          <input type='button' value='關閉' onclick=winClo.Click()> 


          17、parseInt("8")和parseInt("08")得到的結果是不一樣的,前者得到"8"后者得到"0"。為什么?

            語法:parseInt(numstring, [radix]) 
            描述:numstring 必選項。要轉換為數字的字符串。radix 可選項。在 
          2 和 36 之間的表示 numstring 所保存數字的進制的值。如果沒有提供,則前綴為 '0x' 的字符串被當作十六進制,前綴為 '0' 的字符串被當作八進制。所有其它字符串都被當作是十進制的。 
            現在再回過來看,parseInt(
          "08")用的是八進制,轉換出錯,所有得到"0"
            所以parseInt(
          "8")和parseInt("08",10)得到的結果是一樣的。


          18、限制只能輸入數字

             只輸入數字:<input type="text" size="25" onkeyup="value=value.replace(/[^\d]/g,'')"/>
             Email:onkeyup
          ="value=value.replace(/[^\w|-|@|.]/g,'')"


          19、onkeyup與onchange

             onpropertychange能及時捕獲屬性值的變化
             onkeyup事件,是在鍵盤按鍵松開時觸發的
             onchange事件是在文本框獲得光標前的值被改變(沒有改變時不會觸發),離開文本框時觸發的


          20、將雙引號替換掉

          例:限制輸入雙引號
          <input type="text" onkeyup="this.value=this.value.replace(/\042/g,'')"/>
          或者:
          <input type="text" onkeyup="this.value=this.value.replace(/\x22/g,'')"/>


          21、調試代碼(跟java的差不多)

          try{
             
          //……
          }catch(err){
             alert(err+err.description);
          }


          22、過濾HTML

            在評論的時候為了防止用戶提交帶有惡意的腳本,可以先過濾HTML標簽,過濾掉雙引號,單引號,符號&,符號<,符號>
          String.prototype.filterHtml
          =function(){
              
          return this.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt").replace(/"/g,"&#34;").replace(/'/g,"&#39;");
          }



          23、readonly

            在HTML中可以設置輸入框屬性readonly來控制不能輸入,但是如果在JS下需要注意,要寫成readOnly,注意大小寫(readOnly=true/false).



              ☆document.body.scrollTop的值始終為0

            頁面直接用<html>開頭的話是沒有問題的
            使用DTD時用document.documentElement.scrollTop代替document.body.scrollTop就可以了。
          posted on 2008-02-24 03:05 浩霖 閱讀(459) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 神池县| 旌德县| 娱乐| 新绛县| 治县。| 鹿邑县| 漳州市| 盘锦市| 中超| 穆棱市| 昌乐县| 河池市| 靖边县| 敦煌市| 白朗县| 湄潭县| 慈利县| 德昌县| 平舆县| 平原县| 桐城市| 高雄县| 拉萨市| 大邑县| 涡阳县| 洛川县| 武鸣县| 颍上县| 简阳市| 嘉荫县| 奉节县| 黑龙江省| 阿克陶县| 嘉峪关市| 济宁市| 于田县| 佳木斯市| 老河口市| 元谋县| 梁河县| 石屏县|