網頁常用小技巧(JavaScript)

來源:互聯網
上載者:User
網頁常用小技巧(JavaScript)
1. oncontextmenu="window.event.returnValue=false" 將徹底屏蔽滑鼠右鍵

no

可用於Table

2. 取消選取、防止複製

3. onpaste="return false" 不準粘貼

4. oncopy="return false;" oncut="return false;" 防止複製

5. IE地址欄前換成自己的表徵圖

6. 可以在收藏夾中顯示出你的表徵圖

7. 關閉IME

8. 永遠都會帶著架構

9. 防止被人frame

10. 網頁將不能被另存新檔

11.

12.刪除時確認
刪除

13. 取得控制項的絕對位置
//Javascript

//VBScript

14. 游標是停在文字框文字的最後

15. 判斷上一頁的來源
javascript:
document.referrer

16. 最小化、最大化、關閉視窗




本例適用於IE

17.屏蔽功能鍵Shift,Alt,Ctrl

18. 網頁不會被緩衝

或者

19.怎樣讓表單沒有凹凸感?


20.&的區別?

(division)用來定義大段的頁面元素,會產生轉行
用來定義同一行內的元素,跟的唯一區別是不產生轉行
是ns的標記,ie不支援,相當於

21.讓快顯視窗總是在最上面:

22.不要捲軸?
讓豎條沒有:

讓橫條沒有:

兩個都去掉?更簡單了

23.怎樣去掉圖片連結點擊後,圖片周圍的虛線?

24.電子郵件處理提交表單

25.在開啟的子視窗重新整理父視窗的代碼裡如何寫?
window.opener.location.reload()

26.如何設定開啟頁面的大小

開啟頁面的位置

27.在頁面中如何加入不是滿鋪的背景圖片,拉動頁面時背景圖不動

28. 檢查一段字串是否全由數字組成

29. 獲得一個視窗的大小
document.body.clientWidth; document.body.clientHeight

30. 怎麼判斷是否是字元
if (/[^/x00-/xff]/g.test(s)) alert("含有漢字");
else alert("全是字元");

31.TEXTAREA自適應文字行數的多少

32. 日期減去天數等於第二個日期

33. 選擇了哪一個Radio
Style
Barcode

34.指令碼永不出錯

35.ENTER鍵可以讓游標移到下一個輸入框

36. 檢測某個網站的連結速度:
把如下代碼加入地區中:

37. 各種樣式的游標
auto :標準游標
default :標準箭頭
hand :手形游標
wait :等待游標
text :I形游標
vertical-text :水平I形游標
no-drop :不可拖動游標
not-allowed :無效游標
help :?協助游標
all-scroll :三角方向標
move :移動標
crosshair :十字標
e-resize
n-resize
nw-resize
w-resize
s-resize
se-resize
sw-resize

38.頁面進入和退出的特效
進入頁面
推出頁面
這個是頁面被載入和調出時的一些特效。duration表示特效的期間,以秒為單位。transition表示使用哪種特效,取值為1-23:
  0 矩形縮小
  1 矩形擴大
  2 圓形縮小
  3 圓形擴大
  4 下到上重新整理
  5 上到下重新整理
  6 左到右重新整理
  7 右到左重新整理
  8 豎百葉窗
  9 橫百葉窗
  10 錯位橫百葉窗
  11 錯位豎百葉窗
  12 點擴散
  13 左右到中間重新整理
  14 中間到左右重新整理
  15 中間到上下
  16 上下到中間
  17 右下到左上
  18 右上到左下
  19 左上到右下
  20 左下到右上
  21 橫條
  22 豎條
  23 以上22種隨機播放一種

39.在規定時間內跳轉

40.網頁是否被檢索

  其中屬性值有以下一些:
  屬性值為"all": 檔案將被檢索,且頁上連結可被查詢;
  屬性值為"none": 檔案不被檢索,而且不查詢頁上的連結;
  屬性值為"index": 檔案將被檢索;
  屬性值為"follow": 查詢頁上的連結;
  屬性值為"noindex": 檔案不檢索,但可被查詢連結;
  屬性值為"nofollow": 檔案不被檢索,但可查詢頁上的連結。

41.JAVASCRIPT判斷IE是否開啟COOKIE

匹配中文字元的Regex: [\u4e00-\u9fa5]

匹配雙位元組字元(包括漢字在內):[^\x00-\xff]

應用:計算字串的長度(一個雙位元組字元長度計2,ASCII字元計1)

String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}

匹配空行的Regex:\n[\s| ]*\r

匹配HTML標記的Regex:/.*|/

匹配首尾空格的Regex:(^\s*)|(\s*$)

應用:javascript中沒有像vbscript那樣的trim函數,我們就可以利用這個運算式來實現,如下:

String.prototype.trim = function()
{
return this.replace(/(^\s*)|(\s*$)/g, "");
}

利用Regex分解和轉換IP地址:

下面是利用Regex匹配IP地址,並將IP地址轉換成對應數值的Javascript程式:

function IP2V(ip)
{
re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的Regex
if(re.test(ip))
{
return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
}
else
{
throw new Error("Not a valid IP address!")
}
}

不過上面的程式如果不用Regex,而直接用split函數來分解可能更簡單,程式如下:

var ip="10.100.20.168"
ip=ip.split(".")
alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))

匹配Email地址的Regex:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配網址URL的Regex:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

利用Regex去除字串中重複的字元的演算法程式:
[註:此程式不正確,原因見本貼回複]

var s="abacabefgeeii"
var s1=s.replace(/(.).*\1/g,"$1")
var re=new RegExp("["+s1+"]","g")
var s2=s.replace(re,"")
alert(s1+s2) //結果為:abcefgi

我原來在CSDN上發貼尋求一個運算式來實現去除重複字元的方法,最終沒有找到,
這是我能想到的最簡單的實現方法。思路是使用後向引用取出包括重複的字元,
再以重複的字元建立第二個運算式,取到不重複的字元,兩者串聯。
這個方法對於字元順序有要求的字串可能不適用。

得用Regex從URL地址中提取檔案名稱的javascript程式,如下結果為page1

s="http://www.9499.net/page1.htm"
s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")
alert(s)

利用Regex限制網頁表單裡的文字框輸入內容:

用Regex限制只能輸入中文:onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"

用Regex限制只能輸入全形字元: onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"

用Regex限制只能輸入數字:onkeyup="value=value.replace(/[^\d]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

用Regex限制只能輸入數字和英文:onkeyup="value=value.replace(/[\W]/g,'') "onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"

posted on 2008-11-03 17:07 站得更高,看得更遠 閱讀(...) 評論(...) 編輯 收藏

重新整理評論重新整理頁面返回頂部

部落格園首頁博問新聞快閃記憶體程式員招聘知識庫

Copyright 2013 站得更高,看得更遠 Powered by: 部落格園 模板提供:滬江部落格

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.