[TOC]
## 字符串常用的一些方法
### 1\. charAt()
~~~
str.charAt(n)
~~~
=> 返回字符串的第 n 個字符,如果不在 0~str.length-1之間,則返回一個空字符串。
~~~
var str = "javascript";
str.charAt(2); //'v'
str.charAt(12); //''
~~~
### 2\. indexOf()
~~~
indexOf(substr[,start])
~~~
=> 返回 substr 在字符串 str 中首次出現的位置,從 start 位置開始查找,如果不存在,則返回 -1。
start可以是任意整數,默認值為 0。如果 start = str.length,則該方法返回 -1,除非被查找的字符串是一個空字符串,此時返回 str.length.
~~~
var str = "javascript";
str.indexOf('s'); // 1
str.indexOf('s',6); // -1
str.indexOf('',11); // 10
str.indexOf('',8); // 8
~~~
### 3\. lastIndexOf()
~~~
lastIndexOf(substr[,start])
~~~
\= > 返回 substr 在字符串 str 中最后出現的位置,從 start 位置 向前開始查找,如果不存在,則返回 -1。
~~~
'lastindex'.lastIndexOf('a');?// 1
~~~
### 4\. substring()
~~~
str.substring(start[, end])
~~~
\= > 返回從 start 到 end(不包括)之間的字符,start、end均為 非負整數。若結束參數(end)省略,則表示從start位置一直截取到最后。
~~~
var str = 'abcdefg';
str.substring(1, 4); //"bcd"
str.substring(1); // "bcdefg"
str.substring(-1); //"abcdefg" 傳入負值時會視為0
~~~
### 5\. slice()
~~~
str.slice(start[,end])
~~~
\= > 返回從 start 到 end (不包括)之間的字符,可傳負值
~~~
var str = 'this is awesome';
str.slice(4, -1); //" is awesom"
~~~
### 6\. substr()
~~~
str.slice(start[,end])
~~~
\= > 返回 str 中從指定位置開始到指定長度的子字符串,start可為負值
~~~
var str = "Just give me a reason";
str.substr(5, 10); // "give me a "
str.substr(-4, 2); // "as"
~~~
### 7\. replace()
~~~
str.replace(regexp|substr, newSubStr|function)
~~~
\= > 替換 str 的子字符串
~~~
var str = "do you love me";
str.replace('love','hate'); // "do you hate me"
~~~
### 8\. search()
~~~
str.search(regexp)
~~~
\= > 查找 str 與一個正則表達式是否匹配。如果匹配成功,則返回正則表達式在字符串中首次匹配項的索引;否則,返回 -1。如果參數傳入的是一個非正則表達式對象,則會使用 new RegExp(obj) 隱式地將其轉換為正則表達式對象
~~~
var str = 'I love JavaScript!';
str.search(/java/); // -1
str.search(/Java/); // 7
str.search(/java/i); // 7
str.search('Java'); // 7
~~~
### 9\. match()
~~~
str.match(regexp)
~~~
\= > 返回一個包含匹配結果的數組,如果沒有匹配項,則返回 null。如果參數傳入的是一個非正則表達式對象,則會使用 new RegExp(obj) 隱式地將其轉換為正則表達式對象
~~~
var str = 'Javascript java';
str.match(/Java/); // ["Java"]
str.match(/Java/gi); // ["java", "Java"]
str.match(/ab/g); // null
~~~
### 10\. split()
~~~
str.split([separator][, limit])
~~~
\= >返回一個數組,分隔符 separator 可以是一個字符串或正則表達式
~~~
var str = "Hello?World!";
str.split(); // ["Hello?World!"]
str.split(''); // ["H", "e", "l", "l", "o", "?", "W", "o", "r", "l", "d", "!"]
str.split('?'); // ["Hello", "World!"]
str.split('',5); // ["H", "e", "l", "l", "o"]
~~~
### 11\. trim()
~~~
str.trim()
~~~
\= > 去除 str 開頭和結尾處的空白字符,返回 str 的一個副本,不影響字符串本身的值
~~~
var str = ' abc ';
str.trim(); // 'abc'
console.log(str); // ' abc '
~~~
### 12\. toLowerCase()
~~~
str.toLowerCase()
~~~
\= > 將 str 轉換為小寫,并返回 str 的一個副本,不影響字符串本身的值
~~~
var str = 'JavaScript';
str.toLowerCase(); // 'javascript'
console.log(str); // 'JavaScript'
~~~
### 13\. toUpperCase()
~~~
str.toUpperCase()
~~~
\= > 將 str 轉換為大寫,并返回 str 的一個副本,不影響字符串本身的值
~~~
var str = 'JavaScript';
str.toUpperCase(); // 'JAVASCRIPT'
console.log(str); // 'JavaScript'
~~~
- HTML
- 標簽
- 超鏈接
- 列表
- 表格和表單
- h5新增標簽
- 快捷方式
- 標簽包含
- CSS
- 選擇器
- 行內,塊元素,鏈接
- css三大特性
- 盒子模型
- 定位
- css可見性
- emment書寫
- 文本元素
- 外觀屬性
- 背景
- 浮動
- ps
- 用戶界面樣式
- 顯示和隱藏
- 過渡
- 2D,3D變形
- 動畫animation
- 伸縮布局(CSS3)
- BFC
- 優雅降級和漸進增強
- 3D旋轉
- 雙飛翼和圣杯
- JS基礎
- 輸出消息的幾種方式
- 數據類型
- Date對象
- Math對象
- Array對象
- 字符串常用方法
- 數據類型轉換
- 等號運算
- 代碼調試
- 數組
- 函數
- WebAPI
- webapi簡介
- 獲取頁面元素
- 事件
- 屬性操作
- 創建元素
- 節點操作
- 事件詳解
- BOM
- 位置相關屬性
- 拖拽彈窗
- 彈出層加遮罩
- ES6
- let和const
- 解構表達式變化
- 函數優化
- map和reduce
- nrm
- npm
- npm基礎
- package.json
- 淘寶鏡像
- webpack
- 介紹
- 多入口文件(Multiple entry files)
- Webpack CSS loader加載器
- webpack Image loader 加載圖片
- uglify-js壓縮打包JS
- webpack構建本地服務器
- vue內部指令
- v-if,v-show,v-for
- v-text,v-html
- v-on
- v-model
- v-bind
- v-pre,v-cloak,v-once
- vue全局api
- Vue.directive 自定義指令
- vue.extend構造器的延伸
- vue.set全局操作
- Vue的生命周期(鉤子函數)
- Template 制作模版
- Component 初識組件
- Component 組件props 屬性設置
- Component 父子組件關系
- Component 標簽
- vue選項
- propsData Option全局擴展數據傳遞
- computed Option 計算選項
- Methods Option 方法選項
- watch選項監控數據
- Mixins 混入選項操作
- Extends Option 擴展選項
- delimiters 選項
- vue實例和內置組件
- 實例屬性
- 實例方法
- 實例事件
- 內置組件 -slot
- vue-cli
- vue-cli介紹
- 項目目錄結構
- vue-cli模板
- vue-router
- 簡介
- 配置子路由
- 參數傳遞
- 單頁面多路由區域操作
- url傳遞參數
- vscode