字符串javascript課程課件

字符串的概念和定義

字符串就是一串字符,由雙(單)引號(hào)括起來(lái)。

字符串是 JavaScript的一種基本的數(shù)據(jù)類型。

1、var str=‘親’;? ? //基本類型

定義一個(gè)字符串變量str,內(nèi)容為‘親

2、var str = new String(“hello”);? ? ? //引用類型

定義一個(gè)字符串變量str,內(nèi)容為hello,

注意此刻str為object(對(duì)象)類型

用new產(chǎn)生的變量都是引用類型的變量,也叫對(duì)象。

3、var str = String(‘hello’);

對(duì)象只是一種特殊的數(shù)據(jù)類型。對(duì)象擁有屬性和方法。

基本類型: Undefined / Boolean / Number

引用類型:Object / Array / Function / Date / String …….

字符串的概念和定義

var s1 = new String(‘hello world’);

var s2 = String(‘hello world’);

alert(typeof s1);

alert(typeof s2);

當(dāng)String()和元素符new一起作為構(gòu)造函數(shù)使用時(shí),它返

回一個(gè)新創(chuàng)建的String對(duì)象,存放的是字符串s1的字符串表

示。

當(dāng)不用new運(yùn)算符調(diào)用String()是,它只把s2轉(zhuǎn)換成原

始的字符串,并返回轉(zhuǎn)換后的值。

字符串

字符串的屬性

字符串的屬性

length:表示字符串的長(zhǎng)度;

如 :? var str=“how are you”;

alert(str.length);

alert(str[0]); //獲取字符串中對(duì)應(yīng)下標(biāo)的字符

ECMAScript 中的字符串是不可變的;

也就是說(shuō),字符串一旦創(chuàng)建,它們的值就不能改變。

var str = “親,包郵哦”;

str[0] = “唉”;? //不會(huì)改變

要改變某個(gè)變量保存的字符串,首先要銷毀原來(lái)的字符串,然后再用

另一個(gè)包含新值的字符串填充該變量,

var str1 =? “Hello”;

str1 = str1+” world!”;

字符串的方法

big()? ? ? 用大號(hào)字體顯示字符串

bold()? ? ? 使用粗體顯示字符串

fixed()? ? 以打字機(jī)文本顯示字符串

strike()? ? 使用刪除線來(lái)顯示字符串

fontcolor(“#00f”)? 使用指定顏色來(lái)顯示字符串

fontsize(22)? ? 使用指定尺寸來(lái)顯示字符串

link()? ? ? 將字符串顯示為鏈接

sub()? ? ? 把字符串顯示為下標(biāo)

sup()? ? ? 把字符串顯示為上標(biāo)

字符串

字符串的方法

字符串的函數(shù)(方法)--字符的獲取方法

str.charAt(3)? ? //獲取下標(biāo)為3的字符

str.charCodeAt(3)? //獲取下標(biāo)為3的字符的編碼(ASCII碼)

String.fromCharCode(94)? ? //ASCII編碼轉(zhuǎn)換成字符

該方法是 String 的靜態(tài)方法,所以用String調(diào)用,

如:var str = String.fromCharCode(98,99); 可傳入多個(gè)參數(shù)

ASCII(American Standard Code for Information Interchange,

美國(guó)標(biāo)準(zhǔn)信息交換代碼)

字符串

字符串的方法

nstr.concat()? 連接字符串

var str1 = "hello";

var str2 = str1.concat(" world");

字符串的查找方法

n str.indexOf("abc") 查找字符串第一次出現(xiàn)的位置

var str = "abcdabcd";

var subStr = "bcd";

var index = str.indexOf(subStr);

n str.lastIndexOf("abc")? 查找字符串最后一次出現(xiàn)的位置, 如果沒(méi)

找到? 返回-1

var index = str.lastIndexOf(“abc”);

字符串

字符串的方法

n str.search()正則匹配 (返回第一次出現(xiàn)的位置)

var str = "Abcdabcd";

var index = str.search(/abc/gi);

注: g表示進(jìn)行全局匹配,i表示匹配的時(shí)候忽略大小寫

n str.replace()替換字符串

var str = "how are Are are you!";

var newStr = str.replace("are", "old are");

這里的替換只能執(zhí)行一次,不能夠進(jìn)行全局匹配,如果需要全局匹配

,則應(yīng)使用正則表達(dá)式: str.replace(/are/gi, "old are")

字符串

1、將下面的字符串str的敏感字符*用空字符串””替換; (要

正確表示*得轉(zhuǎn)義成:\*)

2、將str的空格用空字符串””替換;

var str = "H e? l? ** l? ? o? ? Wo r

L d? !";

3、隨機(jī)產(chǎn)生一個(gè)四位數(shù)的驗(yàn)證碼(純數(shù)字(0-9)生成一個(gè)

字符串)? Math.random()

字符串

字符串的常用函數(shù)(重要)

substring(start,end); //截取字符串范圍是[start,? end)

var? str =? “Hello world!”;

alert (str.substring(2,5));

注: 如果只有一個(gè)參數(shù), 則表示到字符串最后

split(separator, howmany)—根據(jù)分隔符、拆分成數(shù)組

separator(字符串或正則表達(dá)式)

howmany(可以指定返回的數(shù)組的最大長(zhǎng)度, 可以省略)

【注】如果空字符串(“”)用作separator,那么stringObject中的每個(gè)字

符之間都會(huì)被分割。

toLowerCase() 方法用于把字符串轉(zhuǎn)換成小寫

toUpperCase() 方法用于把字符串轉(zhuǎn)換成大寫

字符串

示例

1. 去掉字符串123@zh@qq.com中的@;

2.? 任意給定的一串字符,統(tǒng)計(jì)字符串里面的大寫字母和

小寫字母的個(gè)數(shù)

3.? https://www.baidu.com/s?name=avery&age=20&sex=

male, 取出name, age和sex的值

練習(xí)

1.? 已知有兩個(gè)字符串str1 = ‘hello’ , str2 = ‘world’,將兩個(gè)

字符串組成一個(gè);

2.? 已知字符串str = “I love BeiJing”,找出love的范圍

3.? 已知字符串str = “I hate BeiJing!”,提取第3個(gè)字符到第5

個(gè)字符

4.? 將字符串str = “When I was young, I love a girl in

neighbor class.”中,從young提取到girl。但是不許數(shù)

Math

Math對(duì)象

pMath對(duì)象

nMath對(duì)象用于執(zhí)行數(shù)學(xué)任務(wù)

pMath對(duì)象的常用函數(shù)

nMath.round(3.6)? ? //四舍五入

nMath.random()? ? ? ? ? ? ? ? //返回0-1之間的隨機(jī)數(shù)

nMath.max(num1, num2)? //返回較大的數(shù)

nMath.min(num1, num2)? //返回較小的數(shù)

nMath.abs(num)? ? //絕對(duì)值

nMath.ceil(19.3)? ? //向上取整

nMath.floor(11.8)? ? //向下取整

nMath.pow(x,y)? ? ? //x的y次方

nMath.sqrt(num)? ? //開平方

Math

練習(xí)

1, 獲取65-90中的隨機(jī)數(shù), 并將該數(shù)當(dāng)成ASCII

碼,轉(zhuǎn)換成字母

Math

綜合練習(xí)

練習(xí):

給定一個(gè)字符串(包含數(shù)字,大寫字母和小寫字母)例如:

“abaasdFFggs3545jjkkGfDDsssss3444343”;問(wèn)題如下:

1、字符串的長(zhǎng)度;

2、取出指定下標(biāo)位置的字符:0,3,5,9;

3、查找指定字符是否在以上字符串中存在:c;

4、替換指定的字符: 將g替換為22,ss替換為b;

5、截取指定開始下標(biāo)位置到結(jié)束位置的字符串: 取得3--8(包含8)

的字符串;

6、遍歷字符串,并將遍歷出的字母兩頭添加符號(hào)“@”輸出至當(dāng)前

的文檔頁(yè)面, 數(shù)字按原樣顯示,每行5個(gè);

字符串

作 業(yè)

必做:

1.? 注冊(cè)頁(yè)面的簡(jiǎn)單數(shù)據(jù)校驗(yàn)

1.? 用戶名不可以用數(shù)字開頭

2.? 用戶名長(zhǎng)度不低于6,不高于20

3.? 密碼不能為空

4.? 輸入框中要有默認(rèn)提示

5.? 所有輸入框不能為空,并數(shù)據(jù)合法,點(diǎn)擊提交才可以正確提交

表單數(shù)據(jù)

2.? 字母數(shù)字組合驗(yàn)證碼(四位)

?? onblur :? 失去焦點(diǎn)事件

?? placeholder :? 提示文本(占位文本)

作業(yè)2

1. 找出出現(xiàn)最多的字母,找出字符串中出現(xiàn)次數(shù)最多的字母,將該

字母串中出現(xiàn)次數(shù)最多的字母,將該字母和字母出現(xiàn)的次數(shù)拼接成一個(gè)

新字符串,返回新字符串

傳入:” WelcomeToQianfeng”;

返回:”e3”;? (要求編寫成函數(shù))

2. 將字符中單詞用空格隔開

已知傳入的字符串中只有字母,每個(gè)單詞的首字母大寫,請(qǐng)將每個(gè)

單詞用空格隔開,只保留一個(gè)單詞的首字母大寫

傳入:”HelloMyWorld”

返回:”Hello my world”

3. 已知一個(gè)字符串對(duì)象中,英語(yǔ)單詞用各種非字母字符分割,統(tǒng)計(jì)

單詞的個(gè)數(shù)

傳入: “Yes,she**is%%my@love.”

作業(yè)3

1.? 將字符串按照單詞進(jìn)行逆序,空格作為劃分單詞的唯一條件

傳入:”Welome to Beijing”改為 “Beijing to Welcome”

2.? 對(duì)稱數(shù)組

傳入一個(gè)數(shù)組,起元素類型與個(gè)數(shù)皆未知,返回新數(shù)組,由原數(shù)組

的元素正序反序拼接而成

傳入[“One”, “Two”,”Three”]返回[“One”,? “Two”, “Three”,”Three”,”Two”, “One”]

3. 實(shí)現(xiàn)函數(shù),查找子串出現(xiàn)的次數(shù),返回字符串str中出現(xiàn)substring的次數(shù)

傳入:”abcabcabc”, “abc”;? 返回:3

4. 已知千鋒郵箱的用戶名只能由數(shù)字字母下劃線組成,域名為@1000phone.com

,判斷一個(gè)字符串是否是千鋒郵箱,是返回true,不是返回false。

mail@1000phone.com? 是

$mail@1000phone.com? 不是

mail@1000phone.comp? 不是

最后編輯于
?著作權(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)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Javascript有很多字符串的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺(jué)得API上說(shuō)的不全,...
    頑皮的雪狐七七閱讀 2,378評(píng)論 0 2
  • 本節(jié)要介紹的是Python里面常用的幾種數(shù)據(jù)結(jié)構(gòu)。通常情況下,聲明一個(gè)變量只保存一個(gè)值是遠(yuǎn)遠(yuǎn)不夠的,我們需要將一組...
    小黑y99閱讀 65,631評(píng)論 0 9
  • 當(dāng)汗水濕透衣衫 最近,網(wǎng)絡(luò)上流傳著這樣一句話,說(shuō)“打敗你的不是天真,而是天真的很熱?!苯衲甑南奶齑_實(shí)是特別炎熱,...
    晚燈閱讀閱讀 1,059評(píng)論 0 2
  • 文/陳安若 我要把思念 打包成糖衣藥片 讓你嘗嘗 剛?cè)肟诘奶?和接下來(lái)的苦 一如你我初相見(jiàn) 與離別 (昨夜睡下后,...
    陳安若閱讀 279評(píng)論 -1 2
  • 健康的四大要素: 1、積極樂(lè)觀的心態(tài) 2、均衡的飲食 3、適量的運(yùn)動(dòng) 4、充足的睡眠 近年來(lái),高血壓的發(fā)病率在迅速...
    魚笨自由閱讀 331評(píng)論 0 5

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