- charAt(index):返回指定索引处的字符串,若没找着,返回空
- charCodeAt(index):返回指定索引处的字符的Unicode值
1
2
3//toLowerCase()转换成小写toUpperCase()转换成大写
var x ="a".toLowercase().charCodeAt(0)
//x=97 - concat(str1,str2,.):连接多个字符串,返回连接后字符串副本,纯函数(和数组一样的用法)
- fromCharCode():将Unicode值转换成实际字符串
1
2String.fromCharCode(97)
//返回"a" - indexOf(str):返回str在父串中第一次出现的位置,若没有返回-1
- lastIndexOf(str):返回str在父串中最后一次出现的位置,若没有返回-1
- match(regex):搜索字符串,返回正则表达式的所有匹配
- search(regex):基于正则表达式搜索字符串,返回第一个匹配的位置
- slice(start,,end):返回字符索引在start和end(不含)之间的子串
- split(sep,l1imit):将字符串分割为字符数组,limit为从头开始执行分割的最大数量
- substr(start,length):从字符索引start的位置开始,返回长度为length的子串
- substring(from,to):返回字符索引在from和to(不含)之间的子串,和slice几乎相同,但它允许from>to,不
支持负参数 - toLowerCase0:将字符串转换为小写
- toUpperCase():将字符串转换为大写
- valueOf0:返回原始字符串值
- toString)把Number对象转换为字符串,返回结果
{}的valueOf结果为,toString的结果为”[object Object]”
[]的valueOf结果为0,toString的结果为” - str.codePointAt(pos)返回pos位置的字符编码
1
2
3//不同的字母有不同的代码
alert("z".codePointAt(0));//122
alert("Z".codePointAt(0));//90 - String.fromCodePoint(code)通过code创建字符replace
1
2
3
4
5
6
7
8
9
10
11alert(String.fromCodePoint(90));//Z
//八u后跟十六进制代码,通过代码添加Unicode字符
//在十六进制系统中90为5a
alert('\u005a');//Z
'a'>'Z
因为字符通过数字代码比较,ā(97)>Z(90)
//英文是否大写
function upperCase(num){
var reg =/[A-Z]+$/;
return reg.test(num);
}
不会修改原字符串!
第二个参数传入要替换的目标字符串,replace只会匹配一次
第二个参数也可传入一个函数,若原始字符串中有个我们查找的字符串,函数就会执行次,且函数返回一个字符
串,来替换每次匹配到的字符串
参数
$&
$&适用于没有子表达式的情况$1
2
3var sStr='讨论一下正则表达式中的replacel的用法';
sStr.replace(/正则表达式/,'《$&》');
//得到:"讨论一下《正则表达式》中的replace的用法"
匹配字符串左边的所有字符$’1
2
3var sStr='讨论一下正则表达式中的replace的用法';
sStr.replace(/正则表达式/,'《$`》');
//得到:"讨论一下《讨论一下》中的replacel的用法"
匹配字符串右边的所有字符123,4..n1
2
3var sStra='讨论-下正则表达式中的replace的用法';
sStr.replace(/正则表达式/,"《$'》");
/得到:"讨论一下《中的replacel的用法》中的replacel的用法"
依次匹配子表达式函数1
2
3var sStr='讨论一下正则表达式中的replace的用法';
sStr.replace(/(正则)(.+?)(式)/,"《$1》$2<$3>");
//得到:"讨论一下《正则》表达<式>中的replace的用法"参数分别为1
2
3
4
5var sStr='讨论一下正则表达式中的replacel的用法';
sStr.replace(/(正则).+?(式)/,function(){
console.log(arguments);
});
/["正则表达式","正则","式",4,"讨论一下正则表达式中的replace的用法"]
。匹配到的字符串
·若正则使用了分组匹配就是多个,否则无此参数
·匹配字符串的索引位置
·原始字符串
arguments是当前函数的内置属性,指代当前匹配的参数伪数组。
或者使用命名形参的方式:用法1
2
3
4
5var sStr='讨论一下正则表达式中的replace的正则表达式用法';
sStr.replace(/(正则).+?(式)/g,function($1){
console.log($1);
return $1 +'a';
});1
2
3
4
5
6
7
8
9
10
11
12
13str=str.replace(八s*/g);//去除字符串内所有的空格\s匹配任何空白字符。(空格,制表符,换行符)
str=str.replace(/\s*|\s*$/g,"");//去除字符串内首尾空格
str=str.replace(/\s*/,"");//去除字符串左侧空格
str=str.replace(/八s*&/,"");//去除字符串右侧空格
name "Doe,John";
let a=name.replace(/(\w+)\s*,\s*(\w+)/,"$2 $1");
console.log(a)
//John Doe
/首字母大写
let name ='aaa bbb ccc';
let uw=name.replace(/\b\w+\b/g,function(word){
return word.substring(0,1).toUppercase()+word.substring(1);}
)
str.trim()
r0删除字符串两端的空白字符并返回,不影响原来字符串本身,返回一个新的字符串*
缺陷:只能去除字符串两端的空格,不能去除中间的空格
截取字符串
substring()
substring0用于提取字符串中介于两个指定下标之间的字符
substring(start,stop)
·st妇t:一个非负整数,指要提取的子串的第一个字符在字符串中的位置,必需填写
·soP:一个非负整数,比要提取的子串的最后一个字符在字符串上的位置多1,可写可不写,如果不写则返回的子串会一直到字符串的结尾
该字符串的长度为stop-start
如果参数start与stop相等,则该方法返回的就是一个空串,如果start比stoP大,那么该方法在提取子串之前会先交换这两个参数
substr()
substr(O在字符串中抽取从start下标开始的指定数目的字符
substr(start,length)
·st妇t:要截取的子串的起始下标,必须是数值。如果是负数,那么该参数从字符串的尾部开始算起的位置。也就
是说,1指字符串中最后一个字符,2指倒数第二个字符,以此类推,必需要写
·length:子串中的字符数,必须是数值。如果不填该参数,返回字符串的开始位置到结尾的字符。如果length为
0或者负数,将返回一个空字符串
split()
split(0把一个字符串分割成字符串数组
stringObject.split(separator,howmany)
separator:字符串或正则表达式,从该参数指定的地方分割字符串。(必须要填写)
howmany:指返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。(可选)