var str = "abcdefg";
length——字符串长度
var len = str.length();//->7
=——字符串赋值
var str1 = new String("Hello, String!");
var str2 = "Hello, string!";
concat——字符串连接
var str1 = "abc";
var str2 = "def";
console.log(str1.concat(str2));//->"abcdef"
indexOf——返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1
var str = "abcdefg";
console.log(str.indexOf("f"));//->5
lastIndexOf——返回字符串中一个子串最后一处出现的索引,如果没有匹配项,返回 -1-----lastIndexOf() 方法对大小写敏感!
var str = "ababab";
console.log(str.lastIndexOf("b"));//->5
charAt——返回字符串指定位置的字符。
var str = "abcdefg";
console.log(str.charAt(2));//->"c"
substring——返回字符串的一个子串,传入参数是起始位置和结束位置(不包括结束位置)
var str = "abcdefg";
console.log(str.substring(2,5));//->"cde"
substr——返回字符串的一个子串,传入参数是起始位置和长度
var str = "abcdefg";
console.log(str.substr(2,4));//->"cdef"
slice——提取字符串的一部分,并返回一个新字符串(与 substring 相同)
var str = "abcdefg";
console.log(str.slice(2,4));//->"cd"
split——通过将字符串划分成子串,将一个字符串做成一个字符串数组。
var str = "abcdefg";
console.log(str.split(""));//->[ "a","b", "c","d", "e", "f","g"]
toLowerCase——将整个字符串转成小写字母
var str = "aAbEcdeSfg";
console.log(str.toLowerCase());//->"aabecdesfg"
toUpperCase——将整个字符串转成大写字母
var str = "abcdefg";
console.log(str.toUpperCase());//->"ABCDEFG"
match——检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。
var str = "12345srt";
var re = new RegExp(/^\d*/);//匹配任意个数字
var result = str.match(re);
console.log(result);//->["12345"]
replace——用来查找匹配一个正则表达式的字符串,然后使用新字符串代替匹配的字符串。
var str = "12345srt";
var re = new RegExp(/^\d*/);
var result = str.replace(re, "ABCD");
console.log(result);//->"ABCDsrt"
search——执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1
var str = "ASD12345srt";
var str1 = "ASDE";
var re = new RegExp(/\d/);
var result = str.search(re);
var result1 = str1.search(re);
console.log(result);//->3
console.log(result1);//->-1
字符串扩展(原生js对象扩展)
获取字符数组
String.prototype.toCharArray = function(){
return this.split("");
}
var str = "123";
console.log(str.toCharArray(4));//-> ["1","2","3"]
获取N个相同的字符串
String.prototype.repeat = function(num){
var temArr = [];
for(var i = 0; i < num; i++){
temArr.push(this);
}
return temArr.join("");
}
var str = "123";
console.log(str.repeat(4));//->"123123123123"
去除左边空白
String.prototype.LTrim = function(){
return this.replace(/^\s*/g,"");
}
var str = " 123 ";
console.log(str.LTrim());//-> "123 "
去除右边空白
String.prototype.RTrim = function(){
return this.replace(/\s*$/g,"");
}
var str = " 123 ";
console.log(str.RTrim());//-> " 123"
去除两边空白
String.prototype.Trim = function(){
return this.replace(/(^\s*)|(\s*$)/g,"");
}
var str = " 123 ";
console.log(str.Trim());//-> "123"
合并多个空白为一个空白
String.prototype.resetBlank = function(){
return this.replace(/\s+/g," ");
}
var str = " 123 ";
console.log(str.resetBlank());//->" 123 "
测试是否为整数
String.prototype.isInt = function(){
if(this == "NaN") return false;
return this == parseInt(this).toString();
}
var str = "234";
var str1 = "s234s";
console.log(str.isInt());//->true
console.log(str1.isInt());//->false
保留数字
String.prototype.getNum = function(){
return this.replace(/[^\d]/g,"");
}
var str = "srt123set";
console.log(str.getNum());//->"123"
保留字母
String.prototype.getEn = function(){
return this.replace(/[^a-zA-Z]/g,"");
}
var str = "srt123set";
console.log(str.getEn());//->"srtset"
保留中文
String.prototype.getCn = function(){
return this.replace(/[^\u4e00-\u9fa5\uf900-\ufa2d]/g,"");
}
var str = "srt12测试45哈哈346哈哈";
console.log(str.getCn());//->"测试哈哈哈哈"
得到字节长度
String.prototype.getRealLength = function(){
return this.replace(/[^\x00-\xff]/g,"--").length;
}
var str = "srt测试45";
console.log(str.getRealLength());//->9
//一个汉字为两个字节
从左截取指定长度的子串
String.prototype.right = function(n){
return this.slice(0, n);
}
var str = "srt测试45";
console.log(str.right(3));//->"srt"
从右截取指定长度的子串
String.prototype.right = function(n){
return this.slice(this.length-n);
}
var str = "srt测试45";
console.log(str.right(3));//->"试45"
网友评论