摘要:第二個(gè)由于找了第一個(gè)修改正則表達(dá)式字符串中應(yīng)用正則字符串切割字符串替換替換一次字符串查找返回一次查到的下標(biāo)正則的使用點(diǎn)擊按鈕后執(zhí)行函數(shù)獲取輸入框?yàn)榈妮斎肟颢@取文字您輸入的字符串格式不正確正確您輸入的內(nèi)容為空簡(jiǎn)介
1. 數(shù)組 1.1 創(chuàng)建數(shù)組
//一、自變量創(chuàng)建數(shù)組 // 1-通過字面量創(chuàng)建一個(gè)空數(shù)組 var arr1 = []; console.log(arr1) console.log(typeof arr1); // object // 2-通過字面量創(chuàng)建一個(gè)帶有元素?cái)?shù)組 var arr2 = [1, 2, "abc", null, true]; console.log(arr2); // 二、通過Array類型創(chuàng)建數(shù)組 // 1-創(chuàng)建空數(shù)組 var arr3 = new Array(); console.log(arr3); // 2-創(chuàng)建一個(gè)最初可以有五個(gè)元素的數(shù)組,數(shù)組的容量為5 var arr4 = new Array(5); console.log(arr4) //3-創(chuàng)建一個(gè)帶有四個(gè)元素的數(shù)組 var arr5 = new Array(1,2,"a","y"); console.log(arr5);1.2 數(shù)組元素的訪問及修改
// 創(chuàng)建一個(gè)數(shù)組 var arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; // 1-數(shù)組下標(biāo)訪問 // 2 數(shù)字的length屬性 // 通過lenth屬性增加元素個(gè)數(shù) arr1.length = 13; console.log(arr1); // 減少 arr1.length = 6; console.log(arr1); //3 通過索引增加數(shù)據(jù) 如果索引不連續(xù) 就會(huì)出現(xiàn)空的 arr1[6] = 7; console.log(arr1); //4-刪除數(shù)據(jù)delete // 使用delete刪除不會(huì)改變數(shù)組的長(zhǎng)度 刪除的元素用undefined補(bǔ)全 var arr3 = [1, 2, 3, 4, 5] delete arr3[2]; console.log(arr3); console.log(arr3[2]); // undefined1.3 數(shù)組的方法
var arr1 = [1, 2, 3, 4]; // push 向數(shù)組末尾添加元素 // 可以同時(shí)添加一個(gè)或多個(gè)元素 arr1.push(6); console.log(arr1); arr1.push(7,8,9); console.log(arr1); // unshift 向數(shù)組開頭添加元素 // 可以同時(shí)添加一個(gè)或多個(gè)元素 // 刪除元素 pop() 移除最后一個(gè)元素 arr1.pop() console.log(arr1); // 移除第一個(gè)元素 arr1.shift(); console.log(arr1); // 反轉(zhuǎn)數(shù)組 var arr2 = [1, 2, 3]; arr2.reverse(); console.log(arr2); // join(str) var arr3 = [1, 2, 3]; var str3 = arr3.join("*"); console.log(str3); // indexOf() var arr4 = [1, 2, 3, 4, 5, 3]; console.log(arr4.indexOf(3)); //返回3元素 第一次出現(xiàn)的下標(biāo) // lastIndexof // slice(start, end):截取數(shù)組 // 返回一個(gè)新數(shù)組 var arr5 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var arr6 = arr5.slice(2); // 下標(biāo)2到末尾 console.log(arr6); var arr7 = arr5.slice(2,6); // 不包含 下標(biāo)6 console.log(arr7); // splice(index, count, [item1, item2,...]) // splice可以進(jìn)行增加修改或刪除元素的操作 // index:下標(biāo) count :元素個(gè)數(shù) // [item1 ..] 新元素 // splice直接操作原數(shù)組,對(duì)原數(shù)組有影響 // 刪除:只寫index 與count // 返回:一個(gè)刪除元素的數(shù)組 var arr8 = [1, 2, 3, 4, 5, 6, 7]; var arr9 = arr8.splice(2,4); // 下標(biāo)2開始刪除4個(gè)元素 arr8=[1, 2, 7] console.log(arr9); // arr9 = [3, 4, 5, 6] console.log(arr8); // 添加 // 如果執(zhí)行添加元素的操作,count的值為0 var arr10 = [1, 2, 3, 4] var arr11 = arr10.splice(2,0, 100,200,300); console.log(arr11); // [] 沒刪除 console.log(arr10); // [1,2,100,200,300,3,4] // 替換 var arr12 = [1,2,3,4]; var arr13 = arr12.splice(2,2,100,200); console.log(arr13); // [3, 4] console.log(arr12); // [1,2,100,200] // sort:排序 按照ASCII 排序 var arr14 = [3, 17, 19, 2, 0, 1]; arr14.sort(); console.log(arr14); // 參數(shù)傳入排序 function sortNumber(a,b){ return a - b; } arr14.sort(sortNumber); console.log(arr14); // 檢測(cè)數(shù)組的方法 var arr15 = [1, 2, 3, 4]; console.log(arr15 instanceof Array); // true console.log(arr15.constructor === Array); // true2. Date的方法 2.1 創(chuàng)建Date
// 創(chuàng)建 // 1、Date() 函數(shù)直接創(chuàng)建時(shí)間 返回當(dāng)前時(shí)間 var date1 = Date(); console.log(date1); //中國(guó)標(biāo)準(zhǔn)時(shí)間 console.log(typeof date1); //string //2、Date對(duì)象創(chuàng)建 // 2.1 不帶參數(shù) var date2 = new Date(); // 好處是可以設(shè)置時(shí)間 console.log(date2); // object // 2.2、構(gòu)造方法傳入?yún)?shù) // 傳入格式 // 2018-5-10 12:12:12 // 2018-5-10 // 2018-05-10 12:12:12 // 2018-05-10 // 2015/5/10 12:12:12 //2018/05/10 12:12:12 var date3 = new Date("2018-5-10 12:12:12"); console.log(date3); var date4 = new Date("2018-05-10 12:12:12"); console.log(date5); var date5 = new Date("2018/05/10 12:12:12"); console.log(date6); var date6 = new Date("2018-05-09"); // 用 / 也可以 console.log(date6); // Wed May 09 2018 08:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間) // 從00:00:00開始 與上面差8小時(shí) 而 / 加0不加0是沒有區(qū)別的 var date7 = new Date("2018-5-9"); console.log(date7); // "Wed May 09 2018 00:00:00 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)" // 2.3 傳入?yún)?shù): 格式(年月日時(shí)分秒毫秒) 會(huì)進(jìn)位 var date8 = new Date(2015, 5, 1, 12, 32, 25); //月從0開始數(shù) 5代表6月?。。?console.log(date8); // 2.4 傳入一個(gè)參數(shù):格式(毫秒) var date9 = new Date(2000) console.log(date9)2.2 Date的方法
var date1 = new Date(); console.log(date1.getFullYear()); console.log(date1.getMonth()); console.log(date1.getDate()); console.log(date1.getDay()); //星期 console.log(date1.getHours()); console.log(date1.getMinutes()); console.log(date1.getSeconds()); console.log(date1.getMilliseconds()); // 距離1970-01-01的毫秒數(shù) console.log(date1.getTime()); // 設(shè)置年份 ....星期一般不用設(shè)置 date1.setFullYear(2015); // date.setDate(); console.log(date1); // 裝換成字符串 包含年月日分時(shí)秒 console.log(date1.toLocaleString()); // 包含年月日 console.log(date1.toLocaleDateString()); // 包含分時(shí)秒 console.log(date1.toLocaleTimeString()) // 返回該日期距離1970年 1月1 日 0點(diǎn)的毫秒數(shù) console.log(Date.parse("2016-10-10")); // 日期的運(yùn)算 var d6 = new Date(); var d7 = new Date(2016, 10, 11); console.log(d6-d7); // 毫秒數(shù)3. 正則表達(dá)式 3.1 創(chuàng)建正則表達(dá)式
// 創(chuàng)建正則表達(dá)式 // 1、對(duì)象方法創(chuàng)建 // new RegExp("正則表達(dá)式","模式"); // g:全局查找 // i:不區(qū)分大小寫 var r1 = new RegExp("nice"); var r2 = new RegExp("nice","g") var r3 = new RegExp("nice","i") var r4 = new RegExp("nice","gi") // 2、字面量創(chuàng)建 var r5 = /nice/; var r6 = /nice/gi; // var r7 = /[a-z]/;3.2 正則的方法
var str1 = "today is very good good Good" var r1 = /good/gi; // 1、test():查找字符串中是否有符合要求的字符串 // 返回boolean var result = r1.test(str1); console.log(result) // true //2、exce():查找字符串中是否有符合要求的字符串 // 返回值類型:數(shù)組或null // 返回?cái)?shù)組 代表可以找到 // 返回null 代表查找結(jié)束或沒有找打 //當(dāng)?shù)谝淮螆?zhí)行exec時(shí),從字符串開頭開始查找,如果找到,返回匹配到的 //字符串和下標(biāo),當(dāng)再一次執(zhí)行時(shí)候,繼續(xù)向下查找,返回匹配到下一個(gè)字符串 // 如果返回null 代表找不到或查找結(jié)束,然后下次執(zhí)行從頭查找 // exec:會(huì)記錄已經(jīng)查找過的下標(biāo) // 當(dāng)text與exec同時(shí)使用,test檢驗(yàn)字符串時(shí),如果能夠符合要求 // 會(huì)記錄找到的下標(biāo)。 var resu1 = r1.exec(str1); console.log(resu1); // good index 19 第二個(gè)good 由于test找了第一個(gè)good var resu2 = r1.exec(str1); console.log(resu2); // Good index 24 var resu3 = r1.exec(str1); console.log(resu3); // null var resu4 = r1.exec(str1); console.log(resu4); // good index 14 // 3、compile():修改正則表達(dá)式 r1.compile("nice"); /* r1 = /nice/ */ console.log(r1) // /nice/3.3 字符串中應(yīng)用正則
// 字符串切割 str1="a b c d f" console.log(str1.split(/ +/)) // 字符串替換 var str2 = "nice good nice good" console.log(str2.replace("nice", "bad")) // 替換一次 console.log(str2.replace(/nice/g, "bad")); // 字符串查找 var str3 = "nice good nice good nice"; console.log(str3.search(/Good/i)); //返回一次查到的下標(biāo)3.4 正則的使用
// 點(diǎn)擊按鈕后 執(zhí)行func函數(shù) function func () { //獲取輸入框 var i1 = document.getElementById("in1"); // id為in1的input輸入框 //獲取文字 var str1 = i1.value; IsString(str1) } function IsString (str) { if(str.length!=0){ reg = /^[a-zA-Z0-9_]+$/; if(!reg.test(str)){ alert("您輸入的字符串格式不正確") }else{ alert("正確") } }else{ alert("您輸入的內(nèi)容為空") } }
Javascript BOM簡(jiǎn)介
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/95016.html
摘要:類型裝換轉(zhuǎn)為數(shù)字類型會(huì)試圖將字符串轉(zhuǎn)為整型如果失敗返回如果前面是空格數(shù)字正負(fù)號(hào)時(shí),當(dāng)碰到第一個(gè)不是數(shù)字時(shí)停止裝換如果不是數(shù)字空格直接返回與沒有太大區(qū)別除了以下幾條轉(zhuǎn)為類型轉(zhuǎn)為類型在瀏覽器控制臺(tái)中字符類型是黑色的數(shù)字是藍(lán)色的其他類型轉(zhuǎn) 1.類型裝換 1.1 轉(zhuǎn)為數(shù)字類型 // Number console.log(Number(undefined)); //NaN console.l...
摘要:提取字符串的一個(gè)子串,的一個(gè)變體提取字符串的一個(gè)子串返回指定字符串的一份副本都轉(zhuǎn)化為小寫返回指定字符串的一份副本都轉(zhuǎn)化為大寫返回指定字符串的一份副本,其中前后的空白字符都已刪除返回原始的字符串值。 Arguments callee 指代當(dāng)前正在執(zhí)行的函數(shù) length 傳遞給函數(shù)的參數(shù)個(gè)數(shù),以及Arguments對(duì)象中數(shù)組元素的個(gè)數(shù) Array 構(gòu)造函數(shù) new Array()...
摘要:注每個(gè)內(nèi)置對(duì)象都是原生對(duì)象,一個(gè)內(nèi)置的構(gòu)造函數(shù)是一個(gè)內(nèi)置的對(duì)象,也是一個(gè)構(gòu)造函數(shù)。從對(duì)象返回月份。以毫秒設(shè)置對(duì)象。刪除數(shù)組的第一個(gè)元素,返回值是刪除的元素。對(duì)象屬性創(chuàng)建該正則對(duì)象的構(gòu)造函數(shù)。對(duì)象當(dāng)以非構(gòu)造函數(shù)形式被調(diào)用時(shí),等同于。 內(nèi)置對(duì)象與原生對(duì)象 內(nèi)置(Build-in)對(duì)象與原生(Naitve)對(duì)象的區(qū)別在于:前者總是在引擎初始化階段就被創(chuàng)建好的對(duì)象,是后者的一個(gè)子集;而后者包括...
摘要:簡(jiǎn)言在表單驗(yàn)證中,經(jīng)常會(huì)用正則表達(dá)式做出生日期校驗(yàn)。聲明本文目的是為了闡述如何編寫一個(gè)正則表達(dá)式的過程。綜上所述,正則表達(dá)式是強(qiáng)大的,但并不是萬能的,因此不要過份地依賴和濫用正則。 簡(jiǎn)言 在表單驗(yàn)證中,經(jīng)常會(huì)用正則表達(dá)式做出生日期校驗(yàn)。本文把出生日期分割成幾個(gè)部分,分步地介紹了實(shí)現(xiàn)一個(gè)出生日期校驗(yàn)的完整過程。相信您在理解了本篇的內(nèi)容后,對(duì)如何編寫和如何應(yīng)用正則表達(dá)式會(huì)有進(jìn)一步的理解和體...
摘要:早已實(shí)現(xiàn)了正則命名分組提案,只是我們很少使用,本文將介紹的正則命名分組。所有這些問題,都可以通過正則命名分組來解決。該名稱必須是合法的標(biāo)識(shí)符。 前言 以往我們只是習(xí)慣于通過數(shù)組下標(biāo)來訪問正則匹配到的分組,但分組達(dá)到4、5個(gè)時(shí),標(biāo)識(shí)起來就會(huì)非常麻煩。V8早已實(shí)現(xiàn)了正則命名分組提案,只是我們很少使用,本文將介紹JS的正則命名分組。 以往的做法 假設(shè)要使用正則匹配一個(gè)日期的年月日,以往我們會(huì)...
閱讀 3585·2021-10-11 10:59
閱讀 1601·2021-09-29 09:35
閱讀 2269·2021-09-26 09:46
閱讀 3785·2021-09-10 10:50
閱讀 961·2019-08-29 12:17
閱讀 830·2019-08-26 13:40
閱讀 2443·2019-08-26 11:44
閱讀 2116·2019-08-26 11:22