字符串的截取
1.substr()
语法:str.subStr(fromIndex,strLength);
注意:
(1)本方法不会改变原始字符串
(2)如果第一个参数参数是负数则表示尾部开始算起(-1表示倒数第一个元素)
(3)substr()方法的两个参数不能互换位置
(4)substr()的参数指定的是子串的开始位置和长度,因此它可以替代 substring()和 slice()来使用
(5)在 IE4 中,参数 start的值无效。在这个 BUG中,start规定的是第 0 个字符的位置。在之后的版本中,此 BUG已被修正。
ECMAscript没有对该方法进行标准化,因此反对使用它。
兼容性:所有主流浏览器都支持
var str = 'sefgehdgkgf';
console.log(str.substr(3,5)); //gehdg
2.substring()
描述:表示从参数一下标开始截取,到参数二下标为止之间的字符串,不包括参数二下标的字符
语法:str.substring(fromIndex,toIndex);
注意:substring()方法的两个参数可以互相调换位置,对结果没有影响
var str = 'sefgehdgkgf';
console.log(str.substring(3,5)); //ge
console.log(str.substring(5,3)); //ge
3.slice()
描述:表示从参数一下标开始截取,到参数二下标为止之间的字符串,不包括参数二下标的字符
语法:str.slice(fromIndex,toIndex);
注意:
(1)本方法两个参数不能互换位置,并且后一个参数必须大于前一个参数
【如果后一个参数小于前一个参数,则返回一个空字符串''】
(2)如果参数是负数则表示尾部开始算起(-1表示倒数第一个元素)
兼容性:五大主流浏览器都支持
var str1 = 'hgjigh';
console.log(str1.slice(1,4)); //gji
4.扩展
如果以上三个方法在截取字符串的时候,只写一个参数
那么表示从参数下标开始,一直截取到字符串末尾
var str2 = 'Here is a string';
console.log(str2.substr(5)); //is a string
console.log(str2.substring(5)); //is a string
console.log(str2.slice(5)); //is a string
字符串的查找
1.includes()
描述:本方法用于判断字符串中是否包含指定的子字符串,返回true\false
语法:str.includes(子字符串,fromIndex);
参数:
(1)第一个参数为必要参数,要查找的字符串
(2)第二个参数为可选参数,查找的开始位置,默认为 0
注意:【本方法区分大小写】
兼容性:Chrome41、IE12.0、 Firefox40、 Safari9、 Opera28支持
var str = 'dtthgjgn';
console.log(str.includes('th')); //true
2.startsWith()
描述:本方法用来判断字符串是否以指定子字符串开头,返回true\false
语法:str.startsWith(子字符串);
参数:
(1)第一个参数为必要参数,要查找的字符串
(2)第二个参数为可选参数,查找的开始位置,默认为 0
注意:【本方法区分大小写】
兼容性:Chrome41、 IE12.0、 Firefox17、 Safari9、 Opera28开始支持
var str = 'dtthgjgn';
console.log(str.startsWith('d')); //true
3.indexOf()
描述:在已知字符中,查找目标字符串第一次出现的下标。没有找到返回-1
语法:str.indexOf('目标字符串',fromIndex);
注意:
(1)【indexof()区分大小写】
(2)第一个参数是必要参数。第二个参数是可选参数(合法值:[0~str.length-1]),如果不写默认从下标0开始查找
兼容性:所有主流浏览器都支持
var str = 'abdfdgg';
var index = str.indexOf('bd',0);
console.log(index); //1
4.lastIndexOf()
描述:在已知字符中,查找目标字符串最后一次出现的下标。没有找到返回-1
语法:str.lastIndexOf('目标字符串',toIndex);
注意:
(1)【本方法区分大小写】
(2)第一个参数是必要参数。第二个参数是可选参数,如果不写默认查找到结尾为止
(3)本方法从后往前检索字符串,但返回的是从其实为止(0)开始计算子字符串最后出现的位置
兼容性:所有主流浏览器都支持
//判断邮箱号是否合法
var userName = '407@@3212@qq.com';
var index = userName.indexOf('@qq.com');
var lastIndex = userName.lastIndexOf('@qq.com');
if(index!=-1 && index==lastIndex && index==((userName.length-1)-6)){
console.log('合法');
}else{
console.log('不合法');
};
5.charAt()
描述:根据指定的下标获取字符串中的字符。作用等同于[]
语法:str.charAt(index);
兼容性:所有主流浏览器都支持
var str = 'ghdgkd';
console.log(str.charAt(5)); //d
6.charCodeAt()
描述:根据指定的下标获取字符串中字符对用的Unicode编码
语法:str.charCodeAt(index);
注意:
(1)A-Z:65-90 a-z:97-122
(2)如果参数是负数或超过字符串长度,则本方法返回NaN
兼容性:所有主流浏览器都支持
//判断下面的字符串首字母是否大写
var str = 'Ddhfkdf';
var firstCode = str.charCodeAt(0);
if(firstCode>=65 && firstCode<=90){
console.log("首字母是大写");
}else{
console.log("首字母不是大写");
};
7.fromCharCode()
描述:将一个指定的Unicode编码返回一个字符串
语法:String.fromCharCode(n1,n2,n3,...);
注意:本方法是String的静态方法,字符串中的每一个字符都由单独的Unicode数字编码指定。使用语法:String.fromCharCode();
兼容性:所有主流浏览器都支持
var str = String.fromCharCode(67,78,98,119,65,67);
console.log(str); //CNbwAC