目录
1.常用的字符串对象方法:
<script type="text/javascript">
var str = "apple";
var str1 = "21";
var str2 = "LOVE";
//用大号字体显示字体串
document.write(str.big());
document.write("<br/>");
//以打字机文本显示字符串
document.write(str.fixed());
document.write("<br/>");
//设置字符串颜色
document.write(str.fontcolor("red"));
document.write("<br/>");
//设置字符串大小
document.write(str.fontsize('15px'));
document.write("<br/>");
//用小号字体显示字体串
document.write(str.small());
document.write("<br/>");
//使用删除线显示字符串
document.write(str.strike());
document.write("<br/>");
//将字符串显示为上标和下标
document.write(str1.sup());
document.write(str1.sub());
document.write("<br/>");
//将字符串转换为大写 两种方法
document.write(str.toUpperCase());
document.write("  ");
document.write(str.toLocaleUpperCase());
document.write("<br/>");
//将字符串转换为小写 两种方法
document.write(str2.toLocaleLowerCase());
document.write("  ");
document.write(str2.toLowerCase());
document.write("<br/>");
//返回某个字符串对象原始值
document.write(str.valueOf());
</script>
演示效果:
2.字符串的连接
- “+”号连接 格式:字符串1 +字符串2+......
- concat 函数 格式:字符串名称.concat(字符串1,字符串2,......)
<script type="text/javascript">
var str1 = "hello";
var str2 = "world";
var str3 = str1 + " " + str2;
var str4 = str1.concat(" "+str2);
document.write(str3);
document.write("<br/>");
document.write(str4);
</script>
演示效果:两种方法的效果是一样的,上述的 " " 可以理解为空格。
3.字符串的搜索
- indexOf() 方法 格式:字符串名称.indexOf(搜索词,起始索引位置),不指定索引,则默认 为 0
- lastIndexOf() 方法 格式:字符串名称.lastIndexOf()(搜索词,起始索引位置),检查索引顺序从后往前
- search() 方法 格式:字符串名称.search(搜索词) / 字符串名称.search(正则表达式),用于检索字符串中指定的子字符串,或者用于检索与正则表达式相匹配的子字符串。返回第一个匹配的子字符串的起始位置,没有匹配则返回 -1
- match() 格式:字符串名称.match(搜索词) / 字符串名称.match(正则表达式)。可在字符串内检索指定的值,或者找到多个正则表达式匹配的结果。如果搜索词或者正则表达式没有找到,那么match() 从开始位置进行一次匹配,没有匹配到结果,返回 null 。否则,返回一个数组,返回的数组内容为[匹配文本,index: ,input : ]
<script type="text/javascript">
var str1 = "IhaBCIEco";
document.write(str1.indexOf("I",3));
document.write("<br/>");
document.write(str1.indexOf("ha"));
document.write("<br/>");
document.write(str1.lastIndexOf("a"));
document.write("<br/>");
document.write(str1.lastIndexOf("I", 3));
document.write("<br/>");
document.write(str1.search("a"));
document.write("<br/>");
document.write(str1.search("e"));
document.write("<br/>");
document.write(str1.search(/e/i)); //忽视大小写,/i
document.write("<br/>");
document.write(str1.match("d"));
document.write("<br/>");
document.write(str1.match("a"));
console.log(str1.match("a")); //控制台会得到一个数组
</script>
演示效果:
match() 会返回一个数组,包含文本信息,index,input 的信息
4.字符串的截取
- substring() 方法 格式:字符串名称.substring(截取开始位置,截取结束位置) 。参数不能为负数,如果是负数则默认为 0,截取整个字符串。只要一个参数时,则表示截取这个参数到末尾的字符串。
- slice()方法 格式:字符串名称.slice(截取开始位置,截取结束位置) 。如果参数为负数,则表示字符串的索引从末尾开始计算位置。例如:-1 就表示最后一个字符。
- substr()方法 格式:字符串名称.substr(截取开始位置,length) 。表示包含截取位置(包括截取位置的字符)开始处的 length 个字符。只要一个参数表示,从截取位置到末尾的字符串。
<script type="text/javascript">
var str1 ="woshigexiannva";
console.log(str1.substring(1,3)); //索引从1到3的结果是 os
console.log(str1.substring(1)); //索引从1到末尾的结果是 oshigexiannva
console.log(str1.substring(-1)); //索引从1到末尾的结果是 woshigexiannva
console.log(str1.slice(1,4)); //索引从1到4的结果是 osh
console.log(str1.slice(-3,-1)); //索引从-3到-1的结果是 nv
console.log(str1.slice(1,-1)); //索引从1到-1的结果是 oshigexiannv
console.log(str1.slice(-1,-3)); //索引从-1到-3的结果是 空字符串
console.log(str1.substr(1,3)); //索引从1到3的结果是 osh
console.log(str1.substr(2)); //索引从2到结尾的结果是 shigexiannva
console.log(str1.substr(-2,4)); //索引从-2到4的结果是 va
//此处substr(-2,4),表示从末尾的第二个字符开始,截取四个字符
//由于后面没有字符了,就显示当前字符
</script>
演示效果:
5.字符串的替换
replace()方法 格式:字符串名称.replace(需要被替换的字符串/正则表达式,替换之后的字符串)
<script type="text/javascript">
var str1 ="applw";
document.write(str1.replace("w","e"));
</script>
演示效果:
6.字符串的切割
split 方法 格式:split(用于分割的子字符串,返回数组的最大长度)
<script type="text/javascript">
var str1 ="a|b|c|d|e";
console.log(str1.split("|"));
console.log(str1.split("|",3));
</script>
演示效果:
正则表达式
1.正则表达式的组成
- 匹配符
[a-z]:匹配小写字母从 a~z 中的任意一个字符
[A-Z]:匹配大写字母从 A~Z 中的任意一个字符
[0-9]:匹配数字 0~9 任意一个字符
[0-9a-z]:匹配数字 0~9 或者小写字母 a~z 中任意一个字符
[0-9a-zA-Z]:匹配数字 0~9 或者 a~z 大小写字母 中任意一个字符
[abdc]:匹配字符abcd 中的任意一个字符
[1234]:匹配数字 1234 中的任意一个字符
^ 这个符号表示取反,[^0-9]:表示除了数字0~9之外的任意一个字符
- 限定符
*:匹配前面的子表达式零次或者多次,可以用{0,}代替
+:匹配前面的子表达式一次或者多次,可以用{1,}代替
?:匹配前面的子表达式零次或者一次,可以用{0,1}代替
{n}:匹配确定的 n 次,例如{10},连续匹配10次
{n,}:至少匹配 n 次,例如{2},最少匹配2次
{n,m}:至少匹配 n 次,最多匹配 m 次,例如{1,5},最少匹配一次,最多匹配5次
- 定位符
^:匹配输入字符串的开始位置
$:匹配输入字符串的结束位置
\b:匹配一个单词边界(字符串开头,结尾,空格,逗号,点号等符号)
\B:匹配非单词边界
- 转义符
遇到特殊符号(()[] * \ / ^等),必须使用转义符(反斜杠\)进行转义
<script type="text/javascript">
var str1 = "12i345"; //定义一个字符串
var str2 = "2020-1-123"; //定义一个错误的日期
var reg = /[^0-9]/; //查看数字中是否含有其他字符
var reg1 = /[\d]{8}/; //含有8位数字的正则
var reg2 =/^[\d]{4}-[\d]{1,2}-[\d]{1,2}$/ //日期的正则
console.log(str1.search(reg)); //找到则返回找到的位置,否则返回-1
console.log(str1.search(reg1)); //如果有8位数字,返回 0,否则返回-1
console.log(reg2.test(str2)); //test 效验,符合返回 true ,否则返回 false
</script>
演示结果:
2.正则表达式的使用方法
- 字符串方法:
search(),match(),replace(),split() 上面介绍过了,不重复介绍
- 正则对象方法:
test() 如果符合正则表达式,返回 true ,否则 返回 false
exec() 找到匹配的内容返回一个数组,未找到匹配,返回 null
未经允许,禁止转载~今天又是努力的一天✌