文件大小:
軟件介紹
indexOf()函數(shù)
這個函數(shù)允許你判斷一個字符串是否存在于一個更長的字符串中以及它所處的位置。它等價于C語言中的strstr函數(shù)以及Visual Basic語言中的inStr函數(shù)。這個方法也有一個相應(yīng)的函數(shù):lastIndexOf(),這個函數(shù)字符串的另外一端搜索。
就象函數(shù)的名字所意味的,返回數(shù)值表明字符串在所搜索字符串中的位置。如果在被搜索的字符串中沒有找到要查找的字符串就返回-1。這里要注意,在JavaScript中-1是一個普通的整數(shù),而不是一個布爾型(Boolen)的數(shù)。以下是具體例子:
var myString = "Have a nice day!";
alert(myString.indexOf("a")); //這里返回1
alert(myString.lastIndexOf("a")); // 這里返回 13
這里還需要再提醒一次,在JavaScript中的數(shù)組的索引是從0開始,這跟C語言是遺言的。所以上面的語句alert(myString.indexOf("a"))是返回1,因為”a” 處于字符串"Have a nice day!"的第二個位置。
細(xì)心一點,你可能會發(fā)現(xiàn)字符串"Have a nice day!"還有一個字符"a",那怎么才能找到第二個字母"a"呢?這是一個很好的問題,為了做到這一點,我們必須再介紹這個函數(shù)的第二個參數(shù)。第二個參數(shù)是一個整數(shù),它指示了字符串中開始搜索的位置。
為了綜合以上的知識,下面對代碼進行一些來找到所有字符"a",具體代碼如下:
var myString = "Have a nice day!";
var index = myString.indexOf("a");
while (index != -1) {
alert(index);
index = myString.indexOf("a", index + 1);
// start search after last match found
}
下面詳細(xì)解釋一下這段代碼:變量index被初始化為第一個"a"所在的位置(如果沒有"a",那么變量index就為-1)。然后再給出一個循環(huán),條件是index!=-1。在每次的循環(huán)中,我們將變量index加1,即從找到的"a"后面第一個字符開始繼續(xù)查找,直至將所有的字符"a"找到為止。當(dāng)再也沒有字符"a"在字符串變量mySring中找到的時候,就返回-1值,此時index就等于-1,不滿足循環(huán)條件index!=-1,故導(dǎo)致循環(huán)結(jié)束。而alert(index)語句的輸出為:1,5,13。
在這個例子中我們只是展示indexOf()進行單一字符的搜索。如果你經(jīng)常使用這個函數(shù),你會發(fā)現(xiàn)它可以搜索任意的字符或者字符串。
charAt()函數(shù)
這個函數(shù)返回在字符串中字符處在給定的位置。從本質(zhì)上講,它是substring()方法的一個特例,但是它也有自己的用途。如果你原來是個C語言程序員或者其它相近的語言的程序員,那么你就能理解當(dāng)引用字符的時候,可以利用string.charAt(index)來代替string[index]。
下面我們來在一個表單輸入中使用這個函數(shù)。表單中有email地址,當(dāng)然這個email地址要限制為字符、數(shù)字以及一個"@"符號。我們可以一次性講字符串分列為單個字符來對它進行強制。詳細(xì)代碼如下:
<SCRIPT language="JavaScript"> <!-- Hide from older browsers
var parsed = true;
var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-";
var email = PRompt("What is your email address?", "nobody@nowhere.com");
for (var i=0; i < email.length; i++) {
var letter = email.charAt(i).toLowerCase();
if (validchars.indexOf(letter) != -1)
continue;
alert("Invalid character: " + letter);
parsed = false;
break;
}
if (parsed) alert("Your email address contains all valid characters.");
// Stop hiding -->
</SCRIPT>
版權(quán)聲明:
1 本站所有資源(含游戲)均是軟件作者、開發(fā)商投稿,任何涉及商業(yè)盈利目的均不得使用,否則產(chǎn)生的一切后果將由您自己承擔(dān)!
2 本站將不對任何資源負(fù)法律責(zé)任,所有資源請在下載后24小時內(nèi)刪除。
3 若有關(guān)在線投稿、無法下載等問題,請與本站客服人員聯(lián)系。
4 如侵犯了您的版權(quán)、商標(biāo)等,請立刻聯(lián)系我們并具體說明情況后,本站將盡快處理刪除,聯(lián)系QQ:2499894784
- 千億體育手機版本v2.0.1 安卓版
- tplink物聯(lián)電腦版(原tplink安防) v2.12.17.
- Sandboxie Plus v1.9.8 / v5.64.8 開源電腦
- 字魂100號方方先鋒體字體包免費版
- 奧維互動地圖奧維地圖PC破解版VIP V9.0.6
- 蘭博對戰(zhàn)平臺 V1.38.6 官方最新版 / 蘭博玩
- reWASD(Xbox One手柄映射工具) V6.0.1.5190
- mtool修改器 V2023.11 官方最新版 / mtool
- 115轉(zhuǎn)存助手ui優(yōu)化版腳本 V3.9.1 綠色免費
- iSecure Center電腦客戶端 V1.5.0 官方版
點擊加載更多評論>>