string對象
String 對象用於處理文本(字符串)。
創建 String 對象的語法
var Str=new String(s);
Str=new String("字符串");
var Str="字符串"
參數
參數是要存儲在 String 對象中或轉換成原始字符串的值。
返回值
當 String() 和運算符 new 一起作爲構造函數使用時,它返回一個新創建的 String 對象,存放的是字符串 s 或 s 的字符串表示。
當不用 new 運算符調用 String() 時,它只把 s 轉換成原始的字符串,並返回轉換後的值。
當不用 new 運算符調用 String() 時,它只把 s 轉換成原始的字符串,並返回轉換後的值。
String 對象屬性
String 對象方法
1、indexOf()
檢索字符串 字符串在整個字符串中第一次出現的位置
2個參數
1個必寫 :要查找的字符串
1個可選 :如果省略,默認是0;表示從哪開始查找字符串,在整個字符串中第一次出現的位置
[0,Str.length-1]
如果能找到字符串,返回是下標;找不到,返回是-1
1個必寫 :要查找的字符串
1個可選 :如果省略,默認是0;表示從哪開始查找字符串,在整個字符串中第一次出現的位置
[0,Str.length-1]
如果能找到字符串,返回是下標;找不到,返回是-1
提示和註釋
註釋:indexOf() 方法對大小寫敏感!
註釋:如果要檢索的字符串值沒有出現,則該方法返回 -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 中的 fromindex 位置之前存在 searchvalue,則返回的是出現的最後一個 searchvalue 的位置。
說明
該方法將從尾到頭地檢索字符串 stringObject,看它是否含有子串 searchvalue。開始檢索的位置在字符串的 fromindex 處或字符串的結尾(沒有指定 fromindex 時)。如果找到一個 searchvalue,則返回 searchvalue 的第一個字符在 stringObject 中的位置。stringObject 中的字符位置是從 0 開始的。
該方法將從尾到頭地檢索字符串 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 的字符串。
請注意,JavaScript 並沒有一種有別於字符串類型的字符數據類型,所以返回的字符是長度爲 1 的字符串。
語法:
stringObject.charAt(index)
參數 | 描述 |
---|---|
index | 必需。表示字符串中某個位置的數字,即字符在字符串中的下標。 |
提示和註釋
註釋:字符串中第一個字符的下標是 0。如果參數 index 不在 0 與 string.length 之間,該方法將返回一個空字符串。
註釋:字符串中第一個字符的下標是 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() 方法執行的操作相似,只不過前者返回的是位於指定位置的字符的編碼,而後者返回的是字符子串。
方法 charCodeAt() 與 charAt() 方法執行的操作相似,只不過前者返回的是位於指定位置的字符的編碼,而後者返回的是字符子串。
根據下標找編碼
取值範圍:[0,str.length-1]
語法
stringObject.charCodeAt(index)
參數 | 描述 |
---|---|
index | 必需。表示字符串中某個位置的數字,即字符在字符串中的下標。 |
提示和註釋
註釋:字符串中第一個字符的下標是 0。如果 index 是負數,或大於等於字符串的長度,則 charCodeAt() 返回 NaN。
註釋:字符串中第一個字符的下標是 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 的第一次匹配或所有匹配之後得到的。
一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。
說明
字符串 stringObject 的 replace() 方法執行的是查找並替換的操作。它將在 stringObject 中查找與 regexp 相匹配的子字符串,然後用 replacement 來替換這些子串。如果 regexp 具有全局標誌 g,那麼 replace() 方法將替換所有匹配的子串。否則,它只替換第一個匹配子串。
replacement 可以是字符串,也可以是函數。如果它是字符串,那麼每個匹配都將由字符串替換。但是 replacement 中的 $ 字符具有特定的含義。如下表所示,它說明從模式匹配得到的字符串將用於替換。
字符串 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 的結尾的字符。
一個新的字符串,包含從 stringObject 的 start(包括 start 所指的字符) 處開始的 length 個字符。如果沒有指定 length,那麼返回的字符串包含從 start 到 stringObject 的結尾的字符。
提示和註釋
註釋:substr() 的參數指定的是子串的開始位置和長度,因此它可以替代 substring() 和 slice() 來使用。
重要事項:ECMAscript 沒有對該方法進行標準化,因此反對使用它。
重要事項:在 IE 4 中,參數 start 的值無效。在這個 BUG 中,start 規定的是第 0 個字符的位置。在之後的版本中,此 BUG 已被修正。
註釋: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。
一個新的字符串,該字符串值包含 stringObject 的一個子字符串,其內容是從 start 處到 stop-1 處的所有字符,其長度爲 stop 減 start。
說明
substring() 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。
如果參數 start 與 stop 相等,那麼該方法返回的就是一個空串(即長度爲 0 的字符串)。如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個參數。
substring() 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。
如果參數 start 與 stop 相等,那麼該方法返回的就是一個空串(即長度爲 0 的字符串)。如果 start 比 stop 大,那麼該方法在提取子串之前會先交換這兩個參數。
提示和註釋
重要事項:與 slice() 和 substr() 方法不同的是,substring() 不接受負的參數。
重要事項:與 slice() 和 substr() 方法不同的是,substring() 不接受負的參數。
<script type="text/javascript">
var str="Hello world!"
document.write(str.substring(3))
</script>
返回值爲 lo w
以上是string對象常見的幾種方法,回來再繼續完善,數組和對象也是js中很重要的部分,在工作中用的也挺多的,一起總結~~~