成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > 當(dāng)ES6遇上字符串和正則表達(dá)式

當(dāng)ES6遇上字符串和正則表達(dá)式

熱門標(biāo)簽:呼叫系統(tǒng)外呼只能兩次 西藏智能外呼系統(tǒng)代理商 梅縣地圖標(biāo)注 400電話辦理電話辦理 甘肅醫(yī)療外呼系統(tǒng)排名 貴港公司如何申請(qǐng)400電話 ai電話機(jī)器人搭建 外呼系統(tǒng)無呼出路由是什么原因 地圖標(biāo)注教學(xué)點(diǎn)

字符串是一種重要的數(shù)據(jù)類型,而正則表達(dá)式則是賦予了編程人員更多操作字符串的能力。ES6的創(chuàng)作者為字符串和正則表達(dá)式添加了許多的新功能。下面玲瓏將來進(jìn)行一個(gè)全面的總結(jié)。

字符串和正則兩個(gè)部分各兩節(jié),全文閱讀時(shí)間大約10分鐘

字符串

1.更好的Unicode支持

Unicode是一個(gè)字符集。將全世界所有的字符包含在一個(gè)集合里,計(jì)算機(jī)只要支持這一個(gè)字符集,就能顯示所有的字符,再也不會(huì)有亂碼了。

在es6出現(xiàn)之前,js字符串一直基于16位字符編碼進(jìn)行構(gòu)建。每16位序列是一個(gè)編碼單元,代表一個(gè)字符,Unicode0引入擴(kuò)展字符集,16位字符編碼將不再包含任何字符。編碼規(guī)則也因此變更。

對(duì)于UTF-16來說,碼位可以有多個(gè)編碼單元表示,是表示不是組成。

對(duì)于UTF-16前2^16個(gè)碼位都是16位的編碼單元表示,這個(gè)范圍被稱作基本多文種平面BMP,當(dāng)超過時(shí),引入代理對(duì),規(guī)定用兩個(gè)16位編碼單元表示一個(gè)碼位,即32位輔助平面字符。一個(gè)32位代理對(duì)表示字符長度為1,但是length屬性值為2.

如果想進(jìn)一步了解他可以參考阮一峰的一片日志: www.ruanyifeng.com/blog/2014/1… 日志里面說到的碼點(diǎn)就是碼位

1.1codePointAt(0)方法

在es6之前,charCodeAt()方法返回字符每個(gè)16位編碼單元對(duì)應(yīng)的數(shù)值,再在es6中新增了codePointAt方法,codePointAt(0)返回的是位置0處的碼點(diǎn)或者說是位置0處的碼位,包含多個(gè)編碼單元>16進(jìn)制上限FFFF,charCodeAt(0)方法返回的是位置0的第一個(gè)編碼單元.

因此可以用此方法判斷一個(gè)字符占用編碼單元的數(shù)量

function is32Bit(c) {
  
  return c.codePointAt(0) > 0xFFFF;
}
console.log(is32Bit("吉利")); //true
console.log(is32Bit("a"));  //false

1.2 String.fromCodePoint()方法

codePointAt()方法在字符串中檢索一個(gè)字符串的碼位,也可以使用String.fromCodePoint()方法根據(jù)指定的碼位生成一個(gè)字

console.log(String.fromCodePoint(134071));   //吉

1.3normalize()方法

在比較字符或者進(jìn)行排序的時(shí)候,可能出現(xiàn)等價(jià)的情況,然而等價(jià)卻存在兩種情況

  • 規(guī)范的等效是無論從哪個(gè)角度來看,兩個(gè)序列的碼位都是沒有區(qū)別的
  • 兼容的碼位序列看起來不同,但是在特定的情況下可以交換使用。 但是在嚴(yán)格模式下不是等效的,除非通過某些方法把這種等效關(guān)系標(biāo)準(zhǔn)化

normalize()方法提供Unicode的標(biāo)準(zhǔn)化形式,,這個(gè)方法可以接受一個(gè)可選的字符串參數(shù)。Unicode標(biāo)準(zhǔn)化形式有四種

以標(biāo)準(zhǔn)等價(jià)方式分解,然后以標(biāo)準(zhǔn)等價(jià)方式重組(“NFC”),默認(rèn)值選項(xiàng)

  • 以標(biāo)準(zhǔn)等價(jià)方式分解(“NFD”)
  • 以兼容等價(jià)方式分解(“NFKC”)
  • 以兼容方式分解,然后以標(biāo)準(zhǔn)等價(jià)方式重組

1.4 正則表達(dá)式u修飾符

正則表達(dá)式后添加u修飾符會(huì)將編碼單元模式切換成字符模式,這個(gè)時(shí)候的代理對(duì)不會(huì)被視為兩個(gè)字符。

但是length這個(gè)屬性返回的仍然是字符串編碼單元的數(shù)量,而不是碼位的數(shù)量。但是也可以通過帶u修飾符的正則表達(dá)式來解決這個(gè)問題。

function codePointerLength(text) {
  let result = text.match(/[\s\S]/gu);
  return result ? result.length:0;
}
console.log(codePointerLength("吉abc")); //4

檢測是否支持u修飾符

u修飾符在不兼容ES6的JavaScript引擎中使用會(huì)導(dǎo)致語法錯(cuò)誤,可以通過以下函數(shù)檢測是否支持。

function hasRegExpU() {
  try{
    var pattern = new Regexp(".","u");
    return ture;
  }catch (ex) {
    return false;
  }
}

2.其他字符串的變更

2.1字符串中的字串識(shí)別

開發(fā)者們用indexOf()方法在一段字符串中檢測另一段子字符串。在es6中提供3個(gè)方法達(dá)到類似的效果

  • startWith()方法,在字符串起始部分檢測指定文本返回true,否則返回false。
  • incledes()方法,如果在字符串中檢測到指定文本返回true,否則返回false。
  • endWith()方法,顧名思義在末尾檢測,用法與上面一致。

上面三個(gè)方法接受兩個(gè)參數(shù),第1個(gè)參數(shù)是指定要搜索的文本是一個(gè)字符。第2個(gè)是開始搜索位置的索引值是一個(gè)數(shù)字。不指定第二個(gè)參數(shù)endwith一般從字符串末尾處開始匹配。示范如下

let mes = "hello world";
console.log(mes.startWith("hello"));
console.log(mes.endWith("!"));
console.log(mes.includes("o"));
console.log(mes.startWith("o"));
console.log(mes.endWith("d!"));
console.log(mes.includes("x"));
console.log(mes.startWith("o",4));
console.log(mes.endWith("o",8));
console.log(mes.includes("o",8));
//9個(gè)結(jié)果依次為:true true true  false true false  true true false
console.log(mes.endWith("o",8));會(huì)從第7位第二個(gè)o開始匹配。索引值-要搜索文本的長度=8-1

2.2 repeat()方法

es6為字符串新增加的repeat()方法,接受一個(gè)number類型的參數(shù),返回重復(fù)該次數(shù)的一個(gè)新字符串。

console.log(x.repeat(3)); //"xxx"

我是2條分割線,嘎嘎嘎

正則表達(dá)式

1.其他正則表達(dá)式的變更

1.1正則表達(dá)式y(tǒng)修飾符

y修飾符粘滯正則表達(dá)式,從正則表達(dá)式的lastIndex屬性開始進(jìn)行。如果指定位置沒有匹配成功那么將停止匹配并返回結(jié)果。

let text = 'hello1 hello2 hello3';
let patt = /hello\d\s?/,
  result = patt.exec(text);
let gPatt = /helllo\d\s?/g,
  gResult = gPatt.exec(text);
let yPatt = /hello\d\s?/y,
  yResult = yPatt.exec(text);
console.log(resut[0]);  //"hello1 "
console.log(gResut[0]);  //"hello1 "
console.log(yResut[0]);  //"hello1 "
patt.lastIndex = 1;
gPatt.lastIndex = 1;
yPatt.lastIndex = 1;
result = patt.exec(text);
gResult = gPatt.exec(text);
yResult = yPatt.exec(text);
console.log(resut[0]);  //"hello1 "
console.log(gResut[0]);  //"hello2 "
console.log(yResut[0]);  //拋出錯(cuò)誤

這里三個(gè)正則表達(dá)式中,第一個(gè)沒有修飾符,第二個(gè)全局修飾符g,第三個(gè)用了y修飾符。

第一次匹配的時(shí)候是從h字符開始匹配。當(dāng)lastIndex = 1;之后,對(duì)于沒有修飾符的表達(dá)式自動(dòng)忽略這個(gè)變化,結(jié)果還是hello1 ,g修飾符會(huì)從e字符開始匹配,輸出hello2 ,yResul會(huì)從e字符開始匹配,ello h與之不等,最后結(jié)果為null,所以會(huì)拋出錯(cuò)誤。

當(dāng)執(zhí)行y修飾符之后,會(huì)把上一次匹配最后的一個(gè)字符的后一位索引值保存在lastIndex中去,如果執(zhí)行y修飾符匹配結(jié)果為空那么lastIndex值會(huì)被重置為0,g修飾符與此相同。

只有調(diào)用正則表達(dá)式對(duì)象的exec()和test()這些方法時(shí)才會(huì)設(shè)計(jì)lastIndex屬性,如調(diào)用字符串的方法natch()就不會(huì)觸發(fā)粘滯行為。

檢測y修飾符是否存在可以用sticky屬性,如果js引擎支持粘滯修飾符,則stickey屬性值為true,否則為false

let patt = /hello\d/y;
console.log(patt.sticky);

1.2正則表達(dá)式的復(fù)制

在es5中,可以給正則表達(dá)式的構(gòu)造函數(shù)傳遞正則表達(dá)式作為參數(shù)來復(fù)制這個(gè)正則表達(dá)式。但事實(shí)第一個(gè)參數(shù)為正則表達(dá)式的時(shí)候不能用第二個(gè)參數(shù),es6中修改了這個(gè)行為,第二個(gè)參數(shù)可以是修飾符。

let re1 = /ab/i;
let re2 = new RegExp(re1,"g");
console.log(re1.toString()); // "/ab/i"
console.log(re2.toString()); // "/ab/g"

1.3flags屬性

es6新增的flags屬性會(huì)返回所有應(yīng)用于當(dāng)前正則表達(dá)式的修飾符

let re = /ab/g;
console.log(re.source);  //"ab"
console.log(re.flags);  //"g"

2.模板字面量

2.1基礎(chǔ)語法

一句話概括,用反撇號(hào)(`)代替了雙引號(hào),單引號(hào)。

如果想在字符串中用反撇號(hào),就用\轉(zhuǎn)義即可。如

let message = `\`hello\`!`;
console.log(message);

結(jié)果是 hello!

2.2簡化的多行字符串

在es6之前,通過數(shù)組或字符串拼接的方法來創(chuàng)建多行字符串,es6中只需要在代碼中直接換行,換行也改變length屬性值。同時(shí)再反撇號(hào)中所有的空格符都屬于字符串的一部分。

let message = `Multiline
string`;
console.log(message);
console.log(message.length);  //16=6+9+1

2.3 字符串占位符

在一個(gè)模板字面量中,你可以把任何合法的JavaScript表達(dá)式嵌入到占位符中并將其作為字符串的一部分輸出到結(jié)果中。

占位符通常由${}組成,中間可包含任何JavaScript表達(dá)式。模板字面量本身也是JavaScript表達(dá)式,因此在一個(gè)模板字面量里面可以嵌入另外一個(gè)模板字面量。

let name = "sarah";
let message = `my${`name is${name}.`}`;
console.log(message);//my name is sarah.

message是一個(gè)模板字面量,里面又包含了name is${name}.這個(gè)模板字面量。

總結(jié)

以上所述是小編給大家介紹的當(dāng)ES6遇上字符串和正則表達(dá)式,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!

您可能感興趣的文章:
  • ES6學(xué)習(xí)筆記之正則表達(dá)式和字符串正則方法分析
  • ES6(ECMAScript 6)新特性之模板字符串用法分析
  • ES6正則表達(dá)式的一些新功能總結(jié)

標(biāo)簽:哈密 湖州 常州 本溪 ???/a> 泰安 大興安嶺 涼山

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《當(dāng)ES6遇上字符串和正則表達(dá)式》,本文關(guān)鍵詞  當(dāng),ES6,遇上,字符串,和,正則,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《當(dāng)ES6遇上字符串和正則表達(dá)式》相關(guān)的同類信息!
  • 本頁收集關(guān)于當(dāng)ES6遇上字符串和正則表達(dá)式的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    www.8ⅹ8ⅹ羞羞漫画在线看| 伦理电影国产精品| 国产精品麻豆一区二区三区| av在线播放中文字幕| 免费观看黄色网| 久久狠狠亚洲综合| 视频一区欧美| 天美星空大象mv在线观看视频| 成人免费视频网址| av日韩在线免费观看| 亚洲欧洲日夜超级视频| 欧美色大人视频| 精品国产亚洲av麻豆| 免费在线观看黄色网| 天天爱天天做天天爽| 日韩欧美国产精品综合嫩v| 免费网站你懂的| 午夜伦理精品一区| 亚洲一区二区三区毛片| 欧美精品videosex| 男人的天堂www| 熟年交尾五十路视频在线播放| 日韩脚交footjobhdboots| 岛国精品一区二区| av成人男女| 国产第一页在线视频| 丝袜美腿亚洲综合| 天堂√中文最新版在线| 韩国成人一区| 成人中文在线| 国产特黄级aaaaa片免| 国产小视频国产精品| a级网站在线观看| 成年人视频在线观看免费| 国产三级精品三级在线观看国产| 日本成人激情视频| 成人有码在线播放| 国产精品久久久久久成人| 久久久久久久成人| 亚洲国产综合在线观看| 国产二区视频在线播放| 欧美激情成人动漫| 999精品视频在线观看| 久久草.com| 日本a口亚洲| 欧美极品美女视频| 久久久久久久久久久免费视频| 国产精品99久久99久久久| 本道综合精品| 激情91久久| 久久久777| 老司机精品视频一区二区三区| 自拍亚洲一区欧美另类| 日韩成人在线一区| 久久99国产精品一区| 国产真人无码作爱视频免费| 老司机免费视频一区二区| 黄色片视频网站| 九色porny自拍视频| 亚洲欧美另类图片| 欧美区视频在线观看| 久久精品—区二区三区舞蹈| 日韩成人毛片视频| 日韩中文字幕一区二区| xxxwww在线观看| 国产一线二线在线观看| 国产裸体视频网站| 亚洲激情在线观看视频| 婷婷激情五月网| 精品视频在线免费| 黄网视频在线观看| 杨幂一区二区国产精品| 99久久婷婷这里只有精品| 高清在线观看日韩| 欧美日韩在线视频免费播放| 亚洲色成人一区二区三区小说| h视频在线观看免费| 日本不卡免费高清视频| 亚洲色欧美另类| 久久6免费高清热精品| 欧美性生活影院| 成人自拍视频| 丁香六月色婷婷| 国外av网站| 日韩区在线观看| 国产伦精品一区二区三区视频青涩| 亚洲综合五月天| 三年片观看免费观看大全视频下载| 欧美日韩一区在线观看| 亚洲精品乱码久久久久久久久久久久| 亚洲韩国精品一区| 超碰色偷偷男人的天堂| 欧美日韩精品高清| 亚洲精品久久久久久久久久久久久| 欧美日韩在线播放| 亚洲国产婷婷综合在线精品| av在线最新| 国产精品亚洲欧美| 欧美激情久久久久久久| 国产精品日韩精品中文字幕| 夜夜嗨aⅴ免费视频| 国产精品传媒麻豆hd| 国产精品视频黄色| 国产精品毛片久久久久久久久久99999999| 97视频精彩视频在线观看| 欧美,日韩,国产在线| 国产三级电影| 男人和女人啪啪网站| 国产婷婷色综合av蜜臀av| 手机看片福利在线| 少妇激情综合网| 日韩精品一区二区三区免费观影| 91精品国产91久久久久久最新| 日b视频免费观看| jizz性欧美23| 国产精品视频大全| av中文字幕免费| 99精品视频免费版的特色功能| 欧美美女激情18p| 露出调教综合另类| 97精品久久久午夜一区二区三区| 日韩影院在线| 亚洲精品套图| 欧美性20hd另类| 国产区在线视频| 中文字幕乱码在线观看| 可以免费观看av的网站| 久久影院视频免费| 青青草视频在线青草免费观看| 韩国三级中文字幕hd久久精品| 在线观看免费亚洲| 久久久久久九九九九| 午夜精品在线观看| 精品一区二区三区高清免费不卡| 欧美一区二区综合| 欧美日本在线播放| 亚洲第一网站| 国产精品视频无码| 最新中文字幕免费视频| 日韩午夜高潮| 免费成人看片网址| 国产成人免费视频网站| 一级性生活免费视频| 91传媒在线观看| 成人精品免费网站| 手机在线精品视频| 99在线国产| 欧美系列精品| 一区二区三区人妻| 五月久久久综合一区二区小说| 欧美日韩伦理一区二区| 茄子视频成人免费观看| 娇妻高潮浓精白浆xxⅹ| 国产精品久久久久久久久免费看| 久久精品人成| 亚洲在线免费观看| av免费看网址| 老司机一区二区三区| 久久福利毛片| 亚洲国产aⅴ成人精品无吗| 99久久精品99国产精品| 午夜免费看毛片| 色婷婷av一区二区三区之一色屋| 国产成人福利网站| 五月天激情婷婷| 精品人妻伦一区二区三区久久| 日本1区2区3区中文字幕| 91资源在线视频| 在线一区二区观看| 欧美一区二区免费在线观看| 无码视频在线观看| brazzers欧美精品| 91高清视频免费| 国产激情小视频| 久久人妻无码aⅴ毛片a片app| 色综合天天综合网天天狠天天| 国内在线免费高清视频| 日本成人在线播放| 欧美性巨大欧美| 女同一区二区| 极品国产91在线网站| 黄色在线播放| 日韩精品一区二区三区国语自制| 亚洲第一成年人网站| 亚洲欧美国产va在线影院| а 天堂 在线| 久久五月天小说| www.天天射.com| 一区二区网站| 精品国产一二三区| 久久精品在这里| 亚洲精品婷婷| 全球成人免费直播| 五月天婷婷在线视频| 国产成人aa精品一区在线播放| www.色呦呦| 欧美视频中文字幕在线| 国产综合视频在线观看| 国模私拍视频在线观看| 激情网站在线观看| 成人h动漫精品一区二区| 精品一区二区三区影院在线午夜| 每日在线观看av| 亚洲乱码久久| 不卡的av网站| 日韩一区亚洲二区| 男女性色大片免费观看一区二区| 欧美成人乱码一二三四区免费| 伊人网站在线观看| 国内成人自拍| 国产精品国产三级国产有无不卡| 亚洲线精品久久一区二区三区| 国产一级做a爰片在线看免费| 91免费精品视频| 国产成人黄色| 在线免费激情视频| 免费黄色日本网站| 相泽南亚洲一区二区在线播放| 久久免费看少妇高潮v片特黄| 国产视频一区二区三区四区| 国产精品中出一区二区三区| 亚洲一区二区欧美| 欧美色视频日本高清在线观看| 全亚洲最色的网站在线观看| 亚洲色图在线播放| 国产精品久久久免费观看| 97人妻一区二区精品免费视频| 亚洲精品久久7777| 天堂中文在线免费观看| 成人免费观看网站| 久久久www成人免费精品| 成人免费在线电影网| 在线香蕉视频| 国产成人精品三级高清久久91| 国产3p露脸普通话对白| 亚洲精品美女免费| 欧美国产综合| 日韩在线第三页| 国产视频999| 无码人妻精品一区二区蜜桃色欲| 又紧又大又爽精品一区二区| 三上悠亚激情av一区二区三区| 久久美女免费视频| 91麻豆蜜桃一区二区三区| 日本一区二区三区在线播放| 国产三级三级在线观看| 欧美一级黄视频| 久久影院亚洲| 亚洲美女视频在线| 一区二区三区产品免费精品久久75| 香蕉影院在线观看| 国产成人免费在线观看视频| 性感美女久久精品| 日本久久一二三四| 亚洲xx在线| 欧美色图17p| av影院在线免费观看| 意大利激情丛林无删减版dvd| 欧美一级特黄视频| 91国内精品在线视频| а√在线中文网新版地址在线| 一级黄色免费视频| 国产精品成人免费观看| 欧美福利在线播放| 日韩理论片在线观看| 国产91av在线播放| 色爱区综合激月婷婷| 亚洲一区二区成人在线观看| jizz欧美大全| 黄色片视频在线免费观看| 蜜乳av另类精品一区二区| 亚洲国产专区| 亚洲一区三区| 成视频在线免费观看| 影音先锋男人看片资源| 日韩精品国产一区二区| 97超碰人人干| 天堂av电影在线观看| 4438x成人网最大色成网站| 国产一区二区福利视频| 97se视频在线观看| 六月婷婷一区| 国产成人中文字幕| 亚洲怡红院在线观看| 欧美视频亚洲视频| 四虎精品在线| 九九精品视频在线观看| 一区二区亚洲精品| 欧美肉体xxxx裸体137大胆| 久久琪琪电影院| 成人黄色小视频在线观看| 日韩精品一卡| 最近更新在线中文字幕一页| 无尽裸体动漫2d在线观看| 一区二区高清视频在线观看| 午夜精品视频一区二区三区在线看| 国产日本精品视频| 中文字幕一区二区三区四| 亚洲性受xxx喷奶水| 亚洲天堂精品在线| 欧美超级免费视 在线| 久久久精品久久久久久96| 亚洲国产欧美视频| 妺妺窝人体色777777| 国产女主播在线播放| 久久精品日产第一区二区三区高清版| 日批免费观看视频| 国产欧亚日韩视频| 麻豆久久一区| 蜜桃av一区二区三区| 不卡视频在线看| 色综合久久综合网欧美综合网| 日韩毛片在线免费看| 自拍偷拍视频亚洲| 久久91精品国产91久久跳| 色噜噜成人av在线| 欧美日本精品一区二区三区| 欧美激情护士| 99久久精品久久久久久ai换脸| 亚洲va国产天堂va久久en| 欧美一区二区三区激情视频| 成人黄色中文字幕| 成人免费在线观看网站| 国产 日韩 欧美 精品| 国产盗摄一区二区三区在线| 曰本三级日本三级日本三级| 日本一区二区精品视频| 久久a级毛片毛片免费观看|