JavaScript(4)__Js基礎

1:字符串對象的創建

var str="hello world";

var str= new String('hello world');

字符串可以被視爲字符數組,因此可以使用數組的方括號運算符,用來返回某個位置的字符(位置編號從0開始)。但是,字符串與數組的相似性僅此而已。實際上,無法改變字符串之中的單個字符。



2:字符串的length屬性

length屬性返回字符串的長度,該屬性是不能修改的



3:判斷字符串是否相等

需求:模擬登錄,給三次機會,並提示還有幾次。

用戶名和密碼都是admin

思路:1:獲取用戶輸入的內容

     2:字符串的比較

     3:提示次數(錯誤的情況下)

var count = 1;
while(true){
    var name = prompt("請輸入用戶名");
    var pwd = prompt("請輸入密碼");
    if(name==="admin"&& pwd==="admin"){
        alert("登錄成功");
        break;
    }else {
        if(count>=3){
            alert("登錄失敗,沒有機會了");
            break;
        }else {
            alert("您還有"+(3-count)+"次次數");

        }
    }

    count++;
}


4:查找指定位置的字符

charAt方法:返回指定位置的字符

var str='abcd';

console.log(str.charAt(2));//  c

遍歷字符串:把字符串的每一個字符輸出

//    遍歷字符串
for (var i = 0; i < str.length; i++) {
    console.log(str.charAt(i));
}


統計一個字符串中大寫字母字符,小寫字母字符,數字字符出現的次數,其他字符出現的次數。*ABCDEabcd123456!@#$%^

var str1 = "asdASAS23423*&^%%";
var daxie = 0;
var xiaoxie = 0;
var num = 0;
var other = 0;
for (var i = 0; i < str1.length; i++) {
    var c = str1.charAt(i);
    if (c >= "A" &&c <= "Z") {
        daxie++;
    } else if (c >= "a"&& c <= "z") {
        xiaoxie++;
    } else if (c >= 0 && c<= 9) {
        num++;
    } else {
        other++;
    }
}
console.log("大寫個數:"+daxie+"  小寫個數:"+xiaoxie+"  數字個數:"+num+"  非法字符:"+other);


5:查找對應字符的下標

indexOf: indexOf返回該元素(可以單個字符,可以字符串,注意大小寫敏感)的位置,不存在返回-1



trim():去掉字符串首尾空格





6:截取字符串slice

1:它的第一個參數是子字符串的開始位置,第二個參數是子字符串的結束位置(不含該位置)。

2:如果只有一個參數,從這個位置到末尾

3:如果參數是負數,從倒數位置計數

4:第一個參數大於第二個,返回空串





7:截取字符串 substring

1:substring方法用於從原字符串取出子字符串並返回,不改變原字符串。它與slice作用相同,但不支持負數,因此不建議使用這個方法,優先使用slice。

   2:如果參數是負數,會將負數自動變成0

   3:如果第一個參數大於第二個,會自動交換兩個參數的位置



8:截取字符串:substr

 1:第一個參數表示起始位置,第二個參數表示長度

2:如果第二個參數爲負數,會自動轉換爲0,然後返回空串


slicesubstringsubstr區別?

slice和substr可以支持負數

slice和substring的兩個參數是起始和終止位置,而substr的第二個參數是長度

substring如果第一個參數大於第二個,會自動交換位置



9:大小寫轉換

toLowerCase:全部轉換爲小寫

toUpperCase:全部轉換爲大寫

var str = "javaScript";
console.log(str.toLowerCase());//javascript
console.log(str.toUpperCase());//JAVASCRIPT

 

需求:1:將字符串首字母大寫,其餘小寫

var str1 = "" +str.toUpperCase().charAt(0) + str.slice(1).toLowerCase();
console.log(str1);

 

     2:統計大串中小串出現的次數

var s1 = "asdasdJavasdsdfJava";
var s2 = "Java";
var count = 0;
var index = 0;
while ((index = s1.indexOf(s2)) != -1) {
    count++;
    s1 = s1.slice(index+s2.length);
}
console.log(count);




10:字符串的連接:Concat

concat:連接一個或者多個字符串

varstr1 = 'my name ';

       varstr2 = 'is ivan ';

       vardate = '2016.11.30 ';

      console.log(str1.concat(str2,date));

 


11:將字符串分割成數組:Split

split:按照參數的將字符串分割成數組

//字符串的分割
var str = "java-script-h5";
//將字符串按照指定的字符串進行分割
var arr = str.split("-");
console.log(arr);
//將數組轉換成字符串 java,script,h5
console.log(arr.toString());
//將字符串進行分割
var arr1 = arr.toString().split(",");
console.log(arr1);

console.log(str.search("script"));
console.log(str.indexOf("script"));



12:查找字符串 Search

 search方法的用法等同於match,但是返回值爲匹配的第一個位置。如果沒有找到匹配,則返回-1。

  varstr='Farsight ivan teacher';

 console.log(str.search('ivan')); //精確查找第一次出現ivan字符串的位置

  相比indexof ,search更強大,支持正則表達式進行規則過濾

需求:統計大串中小串出現的次數

var l1 = "sadH5asdasH5asdasdH5";
 var l2 = "H5";
 var count = 0;
 var index = 0;
 while((index = l1.search(l2))!=-1) {
     count++;
     l1 = l1.slice(index+l2.length);
 }
 console.log(count);



13:匹配字符串 Match

match方法用於確定原字符串是否匹配某個子字符串,返回一個數組,成員爲匹配的第一個字符串。如果沒有找到匹配,則返回null。

var str2='ivan 20 yzg 20 lili 50';
alert(str2.match(20).index);

返回數組還有index,分別表示匹配字符串開始的位置。



14:替換  replace

 varstr='ivan2016 yzg2016';

 console.log(str.replace('2016', '')); //刪除第一個數字2016



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