JavaScript字符串和正則表達(dá)式等......

?? 一、字符串


1.字符串的特點(diǎn):

同數(shù)組一樣,字符串也有下標(biāo)和長(zhǎng)度這兩個(gè)屬性,并且字符串遍歷也用for

但不同的是,獲取字符串中制定位置的字符用

str.charAt(i) ??//str變量名,i表示字符串中的下標(biāo)


例:

??????????????????????????????var str='no zuo no die';

console.log(str.length);//獲取字符串的長(zhǎng)度

//遍歷字符串

?? ??for(var i=0;i

?? //獲取字符串中的元素

?? ???console.log(str.charAt(i));


?? //獲取指定位置字符的unicode號(hào)

?? ??console.log(str.charCodeAt(i));

?? ??}


2.字符串中的API:所有字符串中的API都無(wú)權(quán)修改原字符串,必須返回新字符串


1)toUpperCase();轉(zhuǎn)大寫(xiě) ???//案例見(jiàn)demo02 ?demo03

2) toLowerCase();轉(zhuǎn)小寫(xiě) ???//案例見(jiàn)demo02 ?demo03

3) slice(starti,endi+1);截取 ?//案例見(jiàn)demo04

4)concat(); 拼接 ????????????//案例見(jiàn)demo05

5) substring(starti,endi+1);截取 用法同slice ?只是不支持負(fù)數(shù)參數(shù)

6) substr(starti,n);截取從starti開(kāi)始的n個(gè)字符 ?//案例見(jiàn)demo07


* 7) indexOf('關(guān)鍵詞',starti);檢索一個(gè)固定關(guān)鍵詞出現(xiàn)的位置 ?

從starti開(kāi)始,查找下一個(gè)關(guān)鍵詞出現(xiàn)的位置

如果找不到,返回-1

如果不寫(xiě)starti,默認(rèn)從0開(kāi)始找

案例見(jiàn)demo08


* 8) lastIndexOf('關(guān)鍵詞',starti);檢索上一個(gè)固定關(guān)鍵詞出現(xiàn)的位置

從str中fromi位置開(kāi)始查找前一個(gè)"關(guān)鍵詞"出現(xiàn)的位置

如果找不到,返回-1

簡(jiǎn)寫(xiě):省略starti, 表示從末尾開(kāi)始找


二、正則表達(dá)式(Regular Expression):

1.定義: ?規(guī)定字符串中出現(xiàn)規(guī)律的規(guī)則.用來(lái)檢某個(gè)字符串是否符合規(guī)則或檢測(cè)字符串

中是否包含符合規(guī)定的子字符串


2.如何聲明一個(gè)正則表達(dá)式

????????????????????var reg=/ /;

var reg=new RegExp(/正則表達(dá)式/);


驗(yàn)證是否正確用reg.test(str); ?//reg代表正則表達(dá)式,str代表字符串


語(yǔ)法:

1.最簡(jiǎn)單的正則就是字符集原文 案例見(jiàn)demo10

2.字符集:規(guī)定一位字符可用的備選列表 [備選字符列表] ??案例見(jiàn)demo10

3.如果字符列表中部分字符連續(xù)就可以用-省略


一位大寫(xiě)字母:[A-Z]

一位小寫(xiě)字母:[a-z]

一位字母:[A-Za-z]

一位數(shù)字:[0-9]

4.除了[^xxx]表示除了xxx都行 [^]表示除了















?? var str='no zuo no die';

?? console.log(str.length);//獲取字符串的長(zhǎng)度

?? //遍歷字符串

?? for(var i=0;i

?? //獲取字符串中的元素

?? console.log(str.charAt(i));

?? //獲取指定位置字符的unicode號(hào)

?? console.log(str.charCodeAt(i));

?? }





?? var str='no zuo no die';

?? //轉(zhuǎn)大寫(xiě)

?? var str1=str.toUpperCase();

?? console.log(str1);


?? var strs='NO ZUO NO DIE';

?? //轉(zhuǎn)小寫(xiě)

?? var strs1=strs.toLowerCase();

?? console.log(strs1);







?? var code='EaB4';

?? //請(qǐng)用戶(hù)反復(fù)輸入驗(yàn)證碼,如果輸入不正確就提示錯(cuò)誤,再?gòu)男螺斎?/p>

?? while(prompt('請(qǐng)輸入驗(yàn)證碼'+code).toUpperCase()!=code.toUpperCase()){


?? alert('輸入錯(cuò)誤,請(qǐng)從新輸入');


?? }

?? alert('驗(yàn)證通過(guò)');









?? //slice(strati,endi+1);

?? //1.含頭不含尾

?? //2.可以省略第二個(gè)參數(shù)相當(dāng)于從starti開(kāi)始一直截取到結(jié)尾

?? //3.如果兩個(gè)參數(shù)都省略相當(dāng)于復(fù)制原字符串

?? //4.支持負(fù)數(shù)參數(shù)

?? var str='no zuo no die';

?? // ??????0123456789

?? // var strs=str.slice(1,5);

?? //省略第一個(gè)參數(shù)

?? ???// var strs=str.slice(1);

?? //兩個(gè)參數(shù)都省略

?? ???// var strs=str.slice();

?? //支持負(fù)數(shù)參數(shù)

?? ??????var strs=str.slice(-5,-3);

?? console.log(strs);









?? //concat();拼接

?? var str='no zuo no die';

?? var str2='哈哈哈';

?? // var strs=str.concat('火火火火');


?? //兩個(gè)字符串拼接

?? var strs=str.concat(str2);

?? console.log(strs);











?? //substring(strati,endi+1);

?? //1.含頭不含尾

?? //2.可以省略第二個(gè)參數(shù)相當(dāng)于從starti開(kāi)始一直截取到結(jié)尾

?? //3.如果兩個(gè)參數(shù)都省略相當(dāng)于復(fù)制原字符串

?? var str='no zuo no die';

?? // ??????0123456789

?? var strs=str.slice(1,5);

?? //省略第一個(gè)參數(shù)

?? ???// var strs=str.slice(1);

?? //兩個(gè)參數(shù)都省略

?? ???// var strs=str.slice();

?? console.log(strs);





?? //substr(starti,n);截取 從starti開(kāi)始截取n個(gè)

?? var str='no zuo n die';

?? var strs=str.substr(1,3);

?? console.log(strs);







??? //indexOf('關(guān)鍵詞',starti);

?? var str='no zuo no die';

?? // var strs=str.indexOf('no',2);

?? //如果找不到,返回-1

?? // var strs=str.indexOf('on',2); ?

?? //如果不寫(xiě)starti,默認(rèn)從0開(kāi)始找

?? var strs=str.indexOf('no');

?? console.log(strs);







?? //lastIndexOf('關(guān)鍵詞',starti);

?? var str='no zuo no die';

?? // var strs=str.lastIndexOf('no',2);

?? //如果找不到,返回-1

?? // var strs=str.lastIndexOf('on',2); ?

?? //如果不寫(xiě)starti,默認(rèn)從末尾開(kāi)始找

?? var strs=str.lastIndexOf('no');

?? console.log(strs);











?? //最簡(jiǎn)單的正則就是關(guān)鍵字原文

?? // var str='no zuo no die';

?? // var reg=/no/;

?? // var result=reg.test(str);

?? // console.log(result);


?? //字符集:規(guī)定一位字符可用的備選列表[字符列表]

?? // var str=prompt('請(qǐng)輸入....');

?? // var reg=/[135]/;

?? // var result=reg.test(str);

?? // console.log(result);


?? //如果字符列表中部分字符連續(xù)就可以用-省略

?? // var str=prompt('請(qǐng)輸入....');

?? // var reg=/[A-Za-z]/;

?? // var result=reg.test(str);

?? // console.log(result);


?? //[^]除了

?? var str=prompt('請(qǐng)輸入....');

?? var reg=/[^A-Za-z]/;

?? var result=reg.test(str);

?? console.log(result);

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容