欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

javascript表達式的簡單介紹

JavaScript 實現(xiàn)基礎(chǔ) 正則表達式

JavaScript通過RegExp類來支持正則表達式,舉一個最簡單的例子:

創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供永修網(wǎng)站建設(shè)、永修做網(wǎng)站、永修網(wǎng)站設(shè)計、永修網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、永修企業(yè)網(wǎng)站模板建站服務(wù),10年永修做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

復(fù)制代碼

代碼如下:

var

regApple

=

new

RegExp("apple");

它可以匹配一個字符串中出現(xiàn)的第一個"apple"字符串,并且對大小寫敏感。在構(gòu)造方法中加入第二個參數(shù)"g"則代表的搜索出字符串中所有的

"apple",這里"g"代表"global"。如果第二個參數(shù)為"i",則代表著case-insensitive,匹配過程中將不考慮字母的大小寫。將上述兩者綜合起來,可以搜索出所有"apple"字符串,并且不考慮大小寫問題。

復(fù)制代碼

代碼如下:

var

regApple

=

new

RegExp("apple",

"gi");

正則表達式有著并不唯一的表示方法,使用Perl語言中的語法,可以將上述表達式表示為:

復(fù)制代碼

代碼如下:

var

regApple

=

/apple/gi;

創(chuàng)建了一個RegExp對象后,RegExp的方法可以構(gòu)造出不同的匹配方式,因為正則表達式是對字符串進行的操作,所以String的一些方法在構(gòu)造正則表達式的過程中也扮演著重要角色。

RegExp對象的方法

復(fù)制代碼

代碼如下:

var

sampleString

=

"Greenapple";

var

regApple

=

/apple/;

alert(regApple.test(sampleString));

上面代碼輸出的結(jié)果是"true",因為sampleString中包含了需要匹配的字符串"apple",這是最簡單的檢測方式。有時,我們需要知道匹配的詳細結(jié)果,例如:

復(fù)制代碼

代碼如下:

var

sampleString

=

"green

apples,

red

apples";

var

regApple

=

/apple/g;

var

arr

=

regApple.exec(sampleString);

通過使用exec()方法,返回的arr是關(guān)于匹配結(jié)果的一個數(shù)組,包括每一個匹配的值及其所在的段,例如上例中是"green

apples"還是"red

apples"。match()方法有著和exec()相同的功能,只是表達方式不同:

復(fù)制代碼

代碼如下:

var

sampleString

=

"green

apples,

red

apples";

var

regApple

=

/apple/g;

var

arr

=

sampleString.match(regApple);

search()方法和indexOf()比較類似,返回第一個匹配的字符串所在的位置:

復(fù)制代碼

代碼如下:

var

sampleString

=

"green

apples,

red

apples";

var

regApple

=

/apple/gi;

alert(sampleString.search(regApple));

//輸出"6"

String的方法

String的replace()方法可以將指定的字符串替換為另一個字符串:

復(fù)制代碼

代碼如下:

var

sampleString

=

"There

is

a

green

apple.";

alert(sampleString.replace("green",

"red"));

//輸出"There

is

a

red

apple."

將replace()的第一個參數(shù)替換為一個正則表達式,可以達到同樣的效果:

復(fù)制代碼

代碼如下:

var

sampleString

=

"There

is

a

green

apple.";

var

regApple

=

/apple/;

alert(sampleString.replace(regApple,

"red"));

//輸出"There

is

a

red

apple."

replace()的第二個參數(shù)可以替換為一個function(),該function()接受一個匹配字符串作為參數(shù),返回一個替換字符串。(存在疑問)

使用正則表達式可以實現(xiàn)String的split()方法相同的功能。

復(fù)制代碼

代碼如下:

var

fruit

=

"apple,pear,lemon";

var

arr

=

fruit.split(",");

使用正則表達式:

復(fù)制代碼

代碼如下:

var

fruit

=

"apple,pear,lemon";

var

reg

=

/\,/;

var

arr

=

fruit.split(reg);

javascript函數(shù)表達式有存在的必要嗎?

javascript函數(shù)表達式有存在的必要的。

 在javascript中,函數(shù)有兩種定義寫法,函數(shù)定義表達式和函數(shù)聲明,其例子分別如下所示:

var test = function(x){

return x;

}

function test(x){

return x;

}

盡管函數(shù)定義表達式和函數(shù)聲明語句包含相同的函數(shù)名,并且都創(chuàng)建了新的函數(shù)對象,但是這二者卻有區(qū)別。

函數(shù)聲明語句中的函數(shù)名是一個變量名,變量指向函數(shù)對象。

函數(shù)定義表達式和通過var聲明變量一樣,其函數(shù)被提前到了腳本或函數(shù)的頂部,因此它在整個腳本和或函數(shù)內(nèi)都是可見的。這樣的話,只有函數(shù)變量聲明提前了,函數(shù)的初始化代碼仍然在原來的位置。但是使用函數(shù)聲明的話,函數(shù)名稱和函數(shù)體均提前了,即腳本中的函數(shù)和函數(shù)中嵌套的函數(shù)都會在當(dāng)前上下文中其它代碼之前聲明,也即可以在聲明一個函數(shù)之前調(diào)用它。

舉個例子:

test(1);

function test(x){

console.log(x);

}

上述代碼能正常執(zhí)行,結(jié)果輸出為1;因為對于函數(shù)聲明語句,函數(shù)名稱和函數(shù)體均提前聲明了,可以在聲明之前調(diào)用它。

 

test(1);

var test = function(x){

console.log(x);

}

上述代碼不能正常執(zhí)行,會報錯。

因為對于函數(shù)定義表達式,只有函數(shù)變量聲明提前了,但是函數(shù)的初始化代碼仍然在原來的位置,也即相當(dāng)于如下的代碼

var test; //函數(shù)變量聲明提前

test(1);

var test = function(x){

console.log(x);

}

因此,會報錯test不是一個函數(shù)的錯誤。

JavaScript正則表達式中 ?: 是什么意思

1.什么 是正則表達式

正則表達式(regular expression)描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等。

正則表達式并不是屬于某種語言的,它是一門獨立的語言,幾乎在所有的編程語言中都提供了相關(guān)支持(Javascript、PHP、Java、C++)

以SQL語言為例:搜索功能

精準(zhǔn)匹配:

\$sql = “select * from goods where title=’Nokia N95’”; //返回某個固定的結(jié)果

模糊匹配:

\$sql = “select * from goods where title like ‘%Nokia N95%’”; //返回某種滿足條件的結(jié)果

所以由此可知,正則表達式也是一種模糊匹配。

2.正則 表達式應(yīng)用場景

① 數(shù)據(jù)隱藏 李先生 一等獎 139****635

② 數(shù)據(jù)驗證 手機驗證、郵箱驗證、IP地址驗證

③ 數(shù)據(jù)采集 網(wǎng)站后臺都可以集成一個按鈕(數(shù)據(jù)采集)

④ 數(shù)據(jù)檢索

3.快速入門

1)查找一個字符串中是否具有數(shù)字“8”

運行結(jié)果:

2)查找一個字符串中是否具有數(shù)字

運行結(jié)果:

3)查找一個字符串中是否具有非數(shù)字

運行結(jié)果:

關(guān)于JavaScript正則表達式()\n的意思

這是Javascript語言正則表達式中的反向引用,就是\1引用前面小括號中捕獲組的數(shù)據(jù)(,),因為只有一個小括號(一個捕獲組),所以第一個正則表達式\1是對的

第二個正則表達式/apple(,5)orange\2/ 因為只有一個捕獲組,而引用的\2是指引用第二捕獲組,沒有第二捕獲組,所以是錯誤的

如果第二個第二個正則表達式是這樣/apple(,)(5)orange\2/那么等同于/apple,5orange5/,那樣是可以的

\n實際上就是反向引用其前面捕獲組中的數(shù)據(jù),有幾個捕獲組,就可以引用幾個

分享標(biāo)題:javascript表達式的簡單介紹
當(dāng)前鏈接:http://chinadenli.net/article12/dsgpjdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作靜態(tài)網(wǎng)站網(wǎng)站收錄定制網(wǎng)站品牌網(wǎng)站設(shè)計App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)