欲善其事,必利其器---頁面開發基礎知識整理

来源:http://www.cnblogs.com/jsonxu/archive/2016/03/18/5292501.html
-Advertisement-
Play Games

(我會慢慢總結 這些以後 直接參考 不必百度谷歌 否則你一旦離開了百度谷歌 你啥都不是!) 知識擴展 Number()函數可以替代IsNaN()函數做是否非數字驗證,但是Number()返回NaN,IsNaN()返回boolean值。 有時候做字元串非空驗證可以用 “” 也可判斷Length是否為0


引言:本次只做一次javascript方面的知識梳理,決定以代碼化的方式直接展示!

(我會慢慢總結 這些以後 直接參考 不必百度谷歌 否則你一旦離開了百度谷歌 你啥都不是!)

 1 模塊一
 2 <script type="text/javascript">
 3 $(function () {
 4 //非boolean值與boolean進行相加,得出數值var $num = 3;var $bol = true;
 5 //字元串與數字相加
 6 var $str = "2";//alert($num+$str);//“32” 不會報錯 進行字元串拼接
 7 //alert(null.x);//TypeError: null has no properties
 8 //alert(hellow(x));
 9 //ReferenceError: hellow is not defined//alert($num + $bol);
10 //4 隱士轉換 不會報錯(只有調用未存在的函數或者null.XXX才會報錯)
11 //NaN判斷
12 var $nan = NaN;
13 //alert($nan === NaN);
14 //false (隱士轉化會將 null轉為0,undefined轉為NaN)
15 //判斷值是否等於NaN (由於精度的不同導致了IsNaN判斷標準不同,利用IsNaN判斷是否為數字不太嚴謹)
16 //alert(isNaN("x"));
17 //true
18 //alert(isNaN(undefined));
19 //true
20 //alert(isNaN({}));
21 //true
22 //替代IsNaN()判斷的方式 !==
23 //var b = "fl";
24 //alert($num !== $nan);
25 //true
26 //alert(IsReallyNaN(b));
27 //false
28 //alert(IsReallyNaN(undefined));
29 //false
30 //重寫IsNaN()function IsReallyNaN(x) {return x !== x;}
31 //對象轉字元串用tostring,轉數字用valueOf
32 var obj = {toString: function () {return "j" + $str.toString();},valueOf: function () {return 4 + $num;}}
33 alert(obj.toString() + "" + obj.valueOf());//j2 7
34 //判斷值是否等於undefined (忽略了0和-0)
35 //function hello(x) {// if (!x) {// x = 11111;// }
36 // return {x:x};//}
37 //console.log(hello(-0));//1111
38 //替代邏輯運算符判斷undefined的方法 typeof
39 function hellos(x) {
40 //if (typeof x==="undefined") {
41 // x = 11111;
42 //}if (x === undefined) {//不要用 x=='undefined',推薦使用===x = 11111;}//對於確定的類型判斷,可以加上parseInt()更嚴謹if (parseInt(x) === undefined) {x = 1;}return { x: x };}
43 console.log(hellos());
44 //1111
45 console.log(hellos(-0));//0
46 });
47  
48  
49   
50 模塊二
51 <script type="text/javascript">
52 $(function () {
53 $('#btn_load').click(function () {
54 //$('.content').load('/testscript/hello', function () { });//將請求的頁面填充到div中
55 //$.getJSON('/testscript/tojson', function (data) {//從伺服器端獲取json// //遍歷json文件// $.each(data, function (i, value) {// //...// });//});
56 //$.getScript('/testscript/tojs', function () {//從伺服器端獲取JS// //...//});
57 //全局Ajax$.ajaxSetup({});
58 //在請求伺服器之前需要做的事
59 $('.content').ajaxStart(function () { $(this).hide() });
60 //在請求伺服器結束需要做的事
61 $('.content').ajaxStop(function () { $(this).show(); });
62 //序列化編碼後的表單元素的值
63 alert($('#frm').serialize());});
64 //取值按鈕$('#btn').click(function () {
65 //獲取當前select標簽的值
66 alert($('#sel').val());
67 //獲取選中select的文本
68 alert($('#sel option:selected').text());
69 //獲取當前checkbox選擇狀態
70 $('[name=chk]:checked').each(function () {
71 alert($(this).val());
72 alert($(this).attr("data-IsTrue"));});
73 //獲取當前選中redio標簽的值
74 alert($(':radio[name=rdo]:checked').val());
75 $(':radio[name=rdo]').eq(0).prop("checked", true);//預設選擇第一個
76 //獲取文本域的值alert($.trim($('#are').val()));});
77 //是否全選按鈕$('#chkAll').click(function () {
78 //全選 反選
79 $('#chkAll').toggle(function () {$('[name=chk]').prop('checked', true);}, function () {$('[name=chk]').prop('checked', false);});
80 //不建議用toggle,會與jq的狀態衝突
81 if ($(this).prop("checked")) {$('[name=chk]').prop("checked", true);}
82  else {$('[name=chk]').prop("checked", false);}});});
83 </script> </span>

知識擴展

Number()函數可以替代IsNaN()函數做是否非數字驗證,但是Number()返回NaN,IsNaN()返回boolean值。

有時候做字元串非空驗證可以用===“” 也可判斷Length是否為0,但是前提必須做好Trim()去空格處理,空格也會占用一個字元位置。

 1 1.判斷字元串輸入字元長度函數(unicode碼)
 2            var validate={
 3                     //判斷字元記憶體中實際長度
 4                    GetStrLength:function GetStrLength(value){
 5                         var len=0;
 6                         for(var i=0; i<value.length; i++){
 7                         var a=value.charAt(i);
 8                         if(a.match(/[^\x00-\xff]/ig) !=null){
 9                        len+=2;//漢字
10                 }else{
11                        len+=1;//數字
12               }
13                        return len;//返回字元長度
14            }
15        }
16   }
17    
18    
19 2.文本框中只允許限制數字輸入
20 代碼嵌入式<input type="text"  onkeyup="this.value='this.value.replace(/\D/g,'')'">  <input type="text"  onafterpaste="this.value='this.value.replace(/\D/g,'')'">
21 函數封裝    <input type="text" data-type="print">
22                   $('input[data-type=print]').keyup(function(){
23                       var source=$(this).val();
24                       source=source.replace(/[^\d]*/g,'').replace(/\b(0+)/gi,'');//過濾中文和特殊字元
25                       $(this).val(source);
26                    });
27   
28   
29 3.驗證是否輸入了正確的url(http or https)
30                   $('#txtLinkAddress').blur(function(){
31                       var address_str=$.trim($(this).val());
32                       var reg=/^(http|https):\/\/([a-zA-Z\d][a-zA-Z\d-_]+\.)+[a-zA-Z\d-_][^ ]*$/;
33                       if(reg.test(address_str)){
34                             //友好提示.....
35                      }
36                  });
37   
38   
39 4.正則判斷NULL OR NaN
40 function isNullOrNaN(value){
41     var flag=false; 
42     var reg=/^([1-9]|[1-9][0-9]+)?$/;
43     if(reg.test(value)){
44     flag=true;
45     return flag;
46   }
47 }

未完待續...


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • [1]定義 [2]屬性 [3]失效 [4]應用
  • ExtJS為開發者在開發富客戶的B/S應用中提供豐富的UI組件,具有統一的主題,便於快速開發,提高效率。但顯然它並不適合互聯網站的開發。 一、主要目錄文件介紹 builds:壓縮後的ExtJS代碼,體積更小,更快; docs:開發文檔; examples:官方演示示例; locale:多國語言資源文...
  • html css
  • 自誕生之初截止目前(2016年初),React可以說是前端界最流行的話題,如果你還不知道React是何物,你就該需要充充電了。 d3是由紐約時報工程師開源的一個繪製基於svg的數據可視化工具,是近幾年最流行的visualization工具庫之一。d3提供豐富的svg繪製API、動畫甚至佈局等功能,目
  • 最近公司網站在谷歌,火狐上測試都沒有問題,但是在ietest,ie6上出現相容問題 ,由於ietest好幾次打開ie6都報錯(嘗試卸載重新安裝幾次無果),下載virtualbox安裝自帶ie6的xp系統,進行ie6測試,打開各大公司網站總是關閉,懷疑可能是xp的iso鏡像問題,於是又重新下載裝了第二
  • 斷斷續續的把慕課的JavaScript基礎和進階看完了,期間不怎麼應用有的都忘記了,接下來多開始寫些效果,進行實際應用。 製作一個表格,顯示班級的學生信息。 1. 滑鼠移到不同行上時背景色改為色值為 #f2f2f2,移開滑鼠時則恢復為原背景色 #fff 2. 點擊添加按鈕,能動態在最後添加一行 3.
  • 這是一道面試題, 請先思考,在看講解 :) 講解如下: 1. main() , 列印的結果為: undefined , 1 a. > 來看第一個列印的值為什麼是 undefined。 在js中,方法和變數的聲明都是會提前的。也就是說不管你在何處聲明的方法或者變數,在js解析時,都會將其提前,具體看代
  • 外部裝備有兩種方法
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...