JavaScript学习中,整理了一些字符串的知识,希望对大家有所帮助,也请大神多多指教!
一、字符串概念与声明
字符串概念:
所有带单引号或者双引号的都叫做字符串
字符串声明:
1、通new运算符去声明
2、省略new声明字符串
3、字符串常量赋值
代码如下:
var str1 = new String(100);
var str2 = String(100);
var str3 = "100";
二、字符串方法
1、访问字符串中的字符
字符串.length 访问字符串中字符的个数
var str = "hello北京";
alert(str.length);//7
2、访问字符串中单个字符
格式:
字符串.charAt(下标) [注]从0开始
字符串[下标]
var str = "hello北京";
alert(str.charAt(4));//o 第五个字符
alert(str[4]);//o
3、字符与相应ASCII值的转换
charCodeAt()
格式:字符串.charCodeAt(下标)
功能:访问字符串中对应下标字符的
ASCII码值
var str = "hello";
alert(str.charCodeAt(1));//101是字母e的ASCII值
String.fromCharCode();
格式:String.fromCharCode(码值1,码值2……);
功能:将传入的ASCII码值转成相应的字符
返回值:组成的字符串
var str = String.fromCharCode(97, 98, 99, 100);
alert(str);//abcd
4、字符串查找
(1)indexOf()
格式:supStr.indexOf(subStr,start);
参数:第一个参数,查找的字符串
start:从哪个下标开始去查找,如果不传入,默认从下标0开始查找
功能:在supStr中查找subStr第一次出现的位置,从start这个位置开始查找
返回值:-1 说明没有查到
var supStr = "abcabcabc";
var subStr = "abc";
ar index = supStr.indexOf(subStr,1);
alert(index);//3
(2)lastIndexOf()
格式:supStr.lastindexOf(subStr);
功能:在supStr中查找subStr最后一次出现的位置
返回值:-1 说明没有查到
var supStr = "abcabcabc";
var subStr = "abc";
var index = supStr.lastIndexOf(subStr);
alert(index);//6
(3)search()
格式:super.seach(subStr)
参数:字符串/正则表达式
功能:在supStr中查找subStr第一次出现的位置
返回值:-1 说明没有查到
//字符串
var supStr = "Abcabcabc";
var subStr = "abc";
var index = supStr.search(subStr);
alert(index);
//正则表达式
//修饰符:i 忽略大小写 g 全局匹配
var supStr = "Abcabcabc";
var subStr = /abc/i;
var index = supStr.search(subStr);
alert(index);//0
5、字符串提取
(1)subString()
格式:字符串.subString
功能:将字符串中[start,end]提取这部分字符串,生成一个人新字符串
返回值:新生成的字符串
var str = "hello";
var newStr = str.substring(1,4); alert(newStr);//ell
alert(str);//hello
(2)substr()
格式:字符串.subStr(start,length);
参数:start开始提取位置,length提取长度
返回值:新生成的字符串
var str = "helloworld";
var newStr = str.substr(1,4);
alert(newStr);//ello
alert(str);//helloworld
(3)slice()
是数组方法,但字符串可用
格式:字符串.slice(start,end);
var str = "helloworld";
var newStr = str.slice(1,4);//下标1,2,3的字符
alert(newStr);
alert(str);
6、字符串替换
replace()替换
格式:supStr.replace(oldStr,newStr);
功能:用newStr将oldStr,替换掉,生成新字符串
参数:
第一个参数是字符串只能替换一次 第一个参数是正则表达式
/xxx/ig i 忽略大小写, g 全局匹配
返回值:替换成的新字符串
var str = "how are you";
var newStr = str.replace("are","old are");
alert(newStr);//how old are you
alert(str);//how are you
var str = "how Are are are you";
var newStr = str.replace(/are/gi,"old are");
alert(newStr);//how old are old are old are you
alert(str);//how Are are are you
7、字符串分割
split()
格式:字符串.split(分割符,length)
参数:第一个参数,用这个分割符对原来的字符串进行分割
第二个参数:控制返回的数组元素格式
功能:用分割符对原字符串,进行字符串分割,将分割完后的子串,放在数组中返回
返回值:数组
[注]:1、相邻的两个分隔符,会产生空字符串""
2、分割符是空字符串"",直接将每一个字符,单独分割成子串,放在数组中返回
var str = "how are you";
var newStr = str.split(" "); alert(newStr);//how,are,you
alert(str);//how are you
var str = "how are you";
var newStr = str.split(" ",2);
alert(newStr);//how,are
alert(str);//how are you
var str = "how are you";
var arr = str.split("");
alert(arr);//h,o,w, ,a,r,e, ,y,o,u
8、字符串大小写转换
toLowCase() 转成全小写
toUpperCase() 转成全大写
var str = "helloWORLD";
alert(str.toLowerCase());//helloworld
alert(str.toUpperCase());//HELLOWORLD
8、字符串拼接
contact:字符串拼接
var str1 = "hello";
var newStr = str1.concat("world",100);
alert(newStr);//helloworld100
//可以用加号实现
var str1 = "hello";
var newStr = str1 + "world" + 100;lert(newStr);//helloworld100