获取字符串第一个字符:
var str = “Hello World”;
// H
alert(str.substr(0, 1));
// d
alert(str.substr(-1));
获取字符串最后一个字符:
var str = “Hello World”;
// H
alert(str.charAt(0));
// d
alert(str.charAt(str.length - 1));
今天遇见一个群友需要过滤一个正则问题。把 '^11^'
过滤为 <span>11</span>
;
第一种 js + 正则
1 | var test = '^11^'; |
第二种 正则1
2
3var test11 = '^11^';
var text11 = test11.replace(/\^(.*?)\^/,'<span>$1</span>');
console.log(text11)
接着群里有小伙伴说,没事尽量别用正则,因为用了正则会有问题,然后还会内存泄露什么的,在上面的两种方法里面能明显看出 ,第二种更加简便效率更高。
但是假如数据变为了 '^1^1^'
可以看出来两种方法都会出问题1
2
3
4
5
6
7
8
9var test = '^11^';
var text = test.replace(/\^/g,'');
var span1 = '<span>';
var span2 = '</span>';
var real = '';
if( test.substr(0, 1) == '^' && test.substr(-1) == '^' ){
real = span1 + text + span2
}
console.log(real);
第二种 正则1
2
3var test11 = '^11^';
var text11 = test11.replace(/\^(.*?)\^/,'<span>$1</span>');
console.log(text11)