字符串操作

  并不是所有后台获取的数据都是可以直接使用展示在界面上的,也不可能接到用户的互动数据什么都不干直接传给后台,所以前台的数据操作是很重要的一个环节,而数据操作最主要的还是字符串操作。

  javascript底层提供了多个api方便开发者操作字符串,这里做个记录。

1、substring(startSub, endSub)

  该api用于取得字符串指定下标内的字符。

var str = '2017-03-20 ++ 11:48:00';
var startStr = str.substring(0, 10);    //2017-03-20
var endStr = str.substring(str.length - 8);    //11:48:00

  可以很明确的看出来:两个参数取下标开始到 下标结束-1 内的字符;而一个参数时则获取的是指定下标后一位开始到结尾的字符。

2、replace(regexp/substr, replacement)

  常用替换操作,两个参数都是必须的。

var str = 'hello';
var reg = /\h/;
console.log(str.replace(reg, 'H'));  //Hello

  这里我们用正则匹配了一个小 h 并将它替换成了大写 H。

var str = 'world';
console.log(str.replace('world','hello world'));
//hello world

   也可以直接通过查找字符串来进行替换。

3、split(separator, howmany)

  将字符串打散成字符串数组,第一个参数为必须。

var str = '123456'
console.log(str.split(''));
//["1", "2", "3", "4", "5", "6"]

console.log(str.split('',5));
//["1", "2", "3", "4", "5"]

  后一个可选参数则表示数组的最大长度,超出部分丢掉。

  我们可以用来截取url的参数:

var str = 'http://***.html?id=1&name=ice&age=12';
var paramArray = str.split('?')[1].split('&');
//["id=1", "name=ice", "age=12"]

4、join(separator)

  将数组拼接成字符串使用separator分割。

var arr = [1,2,3,4,5];
console.log(arr.join(''));
//12345

5、indexOf(searchvalue, fromindex)

  查找指定字符串在某字符串中首次出现位置,第二参数为可选,指定检索的起始位置。

var str = 'hello';
console.log(str.indexOf('o'));
//4

  如果查找到了,那么返回对应下标位置,如果没找到,则返回-1。

console.log(str.indexOf('h',1));
//-1

6、lastIndexOf(searchvalue, fromindex)

  与indexOf使用类似,查找指定字符串在某字符串中最后一次出现的位置,第二个参数为从指定位置从后向前检索。

  此api可简单理解为:从后往前查第一个匹配,没有返回-1。

7、match(reg/searchvalue)

  用于匹配指定正则表达式或者字符串值。

var str = 'hello';
var reg = /\h/;
console.log(str.match(reg));
//["h", index: 0, input: "hello"]

  匹配不到时,则返回:

var str = 'world';
var reg = /\+/;
console.log(str.match(reg));
//null
console.log(str.match('9'));
//null

8、slice(start, end)

  截取指定下标区间字符或数组元素。第二参数可选,不传则到结尾。

var str = 'string';
console.log(str.slice(2));
//ring
console.log(str.slice(2,4));
//ri
var arr = [1,2,3,4,5];
console.log(arr.slice(2));
//[3, 4, 5]
console.log(arr.slice(2,4));
//[3, 4]

9、search(reg)

  用于查找指定子字符串,或者检索正则表达式相匹配的子字符串

var str = 'hello'
console.log(str.search(/\h/))
//0
console.log(str.search('q'));
//-1

10、charAt(index)

  返回字符串指定下标值

var str = 'hello';
console.log(str.charAt(2));
//l

11、toLowerCase()、toUpperCase()

  大小写转换方法。。。直接调用不需要多说。

12、concat(n*arr/string)

  用于连接字符串或数组,不会改变原有数据

var a = 'hello';
var b = 'world';
console.log(a.concat(' ', b));
//hello world
var a = [1];
var b = [2];
console.log(a.concat(b, [3]));
//[1, 2, 3]

  事实证明,前端也很重要。

原文地址:https://www.cnblogs.com/guofan/p/6587512.html