js中的string對象

string對象

String 對象用於處理文本(字符串)。

創建 String 對象的語法

var Str=new String(s);
Str=new String("字符串");
var Str="字符串"

參數

參數是要存儲在 String 對象中或轉換成原始字符串的值。

返回值

當 String() 和運算符 new 一起作爲構造函數使用時,它返回一個新創建的 String 對象,存放的是字符串 s 或 s 的字符串表示。
當不用 new 運算符調用 String() 時,它只把 s 轉換成原始的字符串,並返回轉換後的值。

String 對象屬性



String 對象方法

1、indexOf()  

檢索字符串  字符串在整個字符串中第一次出現的位置

2個參數
     1個必寫   :要查找的字符串
     1個可選 :如果省略,默認是0;表示從哪開始查找字符串,在整個字符串中第一次出現的位置
     [0,Str.length-1]
     如果能找到字符串,返回是下標;找不到,返回是-1

提示和註釋
註釋:indexOf() 方法對大小寫敏感!
註釋:如果要檢索的字符串值沒有出現,則該方法返回 -1。

下面來寫個驗證郵箱的案例:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>indexOf</title>	
	</head>
	<body>
		<input type="text" id="n1" value="" />
		<button id="bt" onclick="add()">驗證郵箱</button>
	</body>
	<script type="text/javascript">
		function add(){
			var a=document.getElementById("n1");
			var str=a.value;
			if(str.indexOf("@")!=-1){
				alert("有");
			}else{
				alert("沒有")
			}
		}	
	</script>
</html>

效果如下圖:





2、lastIndexOf()

lastIndexOf() 方法可返回一個指定的字符串值最後出現的位置,在一個字符串中的指定位置從後向前搜索。

參數:stringObject.lastIndexOf(searchvalue,fromindex)




返回值
如果在 stringObject 中的 fromindex 位置之前存在 searchvalue,則返回的是出現的最後一個 searchvalue 的位置。

說明
該方法將從尾到頭地檢索字符串 stringObject,看它是否含有子串 searchvalue。開始檢索的位置在字符串的 fromindex 處或字符串的結尾(沒有指定 fromindex 時)。如果找到一個 searchvalue,則返回 searchvalue 的第一個字符在 stringObject 中的位置。stringObject 中的字符位置是從 0 開始的。



<script type="text/javascript">
		var str="Hello world!"
		document.write(str.lastIndexOf("Hello") + "<br />")
		document.write(str.lastIndexOf("World") + "<br />") //如果要檢索的字符串值沒有出現,則該方法返回 -1。
		document.write(str.lastIndexOf("world"))
</script>

輸出的結果  :  0   -1   6

3、charAt()


charAt() 方法可返回指定位置的字符。
請注意,JavaScript 並沒有一種有別於字符串類型的字符數據類型,所以返回的字符是長度爲 1 的字符串。

語法:
stringObject.charAt(index)

參數 描述
index 必需。表示字符串中某個位置的數字,即字符在字符串中的下標。


提示和註釋
註釋:字符串中第一個字符的下標是 0。如果參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串。



<script type="text/javascript">
		var str="Hello world!"
		document.write(str.charAt(1));
</script>


返回值爲  e

4、charCodeAt()

charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數。
方法 charCodeAt() 與 charAt() 方法執行的操作相似,只不過前者返回的是位於指定位置的字符的編碼,而後者返回的是字符子串。

根據下標找編碼
取值範圍:[0,str.length-1]

語法
stringObject.charCodeAt(index)

參數 描述
index 必需。表示字符串中某個位置的數字,即字符在字符串中的下標。


提示和註釋
註釋:字符串中第一個字符的下標是 0。如果 index 是負數,或大於等於字符串的長度,則 charCodeAt() 返回 NaN。


<script type="text/javascript">
		var str="Hello world"
		document.write(str.charCodeAt(1))
</script>

返回值爲  101

5、replace()

replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

語法
stringObject.replace(regexp/substr,replacement)

參數 描述
regexp/substr

必需。規定子字符串或要替換的模式的 RegExp 對象。

請注意,如果該值是一個字符串,則將它作爲要檢索的直接量文本模式,而不是首先被轉換爲 RegExp 對象。

replacement 必需。一個字符串值。規定了替換文本或生成替換文本的函數。


返回值
一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。

說明
字符串 stringObject 的 replace() 方法執行的是查找並替換的操作。它將在 stringObject 中查找與 regexp 相匹配的子字符串,然後用 replacement 來替換這些子串。如果 regexp 具有全局標誌 g,那麼 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。
replacement 可以是字符串,也可以是函數。如果它是字符串,那麼每個匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用於替換。


字符 替換文本
$1、$2、...、$99 與 regexp 中的第 1 到第 99 個子表達式相匹配的文本。
$& 與 regexp 相匹配的子串。
$` 位於匹配子串左側的文本。
$' 位於匹配子串右側的文本。
$$ 直接量符號。

注意:ECMAScript v3 規定,replace() 方法的參數 replacement 可以是函數而不是字符串。在這種情況下,每個匹配都調用該函數,它返回的字符串將作爲替換文本使用。該函數的第一個參數是匹配模式的字符串。接下來的參數是與模式中的子表達式匹配的字符串,可以有 0 個或多個這樣的參數。接下來的參數是一個整數,聲明瞭匹配在 stringObject 中出現的位置。最後一個參數是 stringObject 本身。

案例:
<script type="text/javascript">
		var str="daidai"
		document.write(str.replace(/daidai/, "mengmeng"))
</script>

返回值爲 mengmeng   代替了daidai

6、substr()

substr() 方法可在字符串中抽取從 start 下標開始的指定數目的字符。

語法
stringObject.substr(start,length)

參數 描述
start 必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該參數聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最後一個字符,-2 指倒數第二個字符,以此類推。
length 可選。子串中的字符數。必須是數值。如果省略了該參數,那麼返回從 stringObject 的開始位置到結尾的字串。

返回值
一個新的字符串,包含從 stringObject 的 start(包括 start 所指的字符) 處開始的 length 個字符。如果沒有指定 length,那麼返回的字符串包含從 start 到 stringObject 的結尾的字符。

提示和註釋
註釋:substr() 的參數指定的是子串的開始位置和長度,因此它可以替代 substring() 和 slice() 來使用。
重要事項:ECMAscript 沒有對該方法進行標準化,因此反對使用它。
重要事項:在 IE 4 中,參數 start 的值無效。在這個 BUG 中,start 規定的是第 0 個字符的位置。在之後的版本中,此 BUG 已被修正。

<script type="text/javascript">
		var str="Hello world!"
		document.write(str.substr(3,7))
</script>

返回值爲 lo  worl

7、substring()

substring() 方法用於提取字符串中介於兩個指定下標之間的字符。

語法
stringObject.substring(start,stop)

參數 描述
start 必需。一個非負的整數,規定要提取的子串的第一個字符在 stringObject 中的位置。
stop

可選。一個非負的整數,比要提取的子串的最後一個字符在 stringObject 中的位置多 1。

如果省略該參數,那麼返回的子串會一直到字符串的結尾。



返回值
一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度爲 stop 減 start。

說明
substring() 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。
如果參數 start 與 stop 相等,那麼該方法返回的就是一個空串(即長度爲 0 的字符串)。如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個參數。

提示和註釋
重要事項:與 slice() 和 substr() 方法不同的是,substring() 不接受負的參數。

<script type="text/javascript">
		var str="Hello world!"
		document.write(str.substring(3))	
</script>

返回值爲 lo w

以上是string對象常見的幾種方法,回來再繼續完善,數組和對象也是js中很重要的部分,在工作中用的也挺多的,一起總結~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章