javascript(六)字符串函数

内置函数是JS提供的系统函数,不需要引入即可应用
函数主要作用在于进行数据处理

string对象方法:

1、string.length:返回字符串的长度

var a = "中国你好!";
var b = a.length;
document.write(b);

2、string.charAt(index):返回指定位置的字符

var str = "好好学习,天天向上!";
var b = str.charAt(15);
document.write(b);

注意:字符串中第一个字符的下标是 0。如果参数index 不在 0 与string.length之间,该方法将返回一个空字符串。

3、string.indexOf(str,index)查询字符串第一次出现索引位置,查询不到返回-1,从左至右查询

var str = "Hello world o_o";
var b = str.indexOf("o",4);
var c = str.indexOf("o");
document.write(b+"   "+c);

str: 必需。规定需检索的字符串值。
index:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。
注意:
1、indexOf() 方法对大小写敏感!
2、如果要检索的字符串值没有出现,则该方法返回 -1。

4、string.lastIndexOf(searchvalue,fromindex):方法可以返回一个指定的字符串最后出现的位置,在一个字符串的位置从后向前搜索。
searchvalue:必需。规定需检索的字符串值。
fromindex:可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略该参数,则将从字符串的最后一个字符处开始检索。
注意:
1、lastIndexOf() 方法对大小写敏感!
2、如果要检索的字符串值没有出现,则该方法返回 -1。

 var str="这是一段文字,后面还有一段文字。";
 var a = str.lastIndexOf("文");
 var b = str.lastIndexOf("文",10);
 document.write(a);

5、string.substring(start,stop):返回位于指定索引index1和index2之间的字符串,并且包括索引index1对应的字符,不包括索引index2对应的字符。
start:必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。
stop:可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。 如果省略该参数,那么返回的子串会一直到字符串的结尾。

var str = "从开始到结尾!";
var b = str.substring(1,4);
var c = str.substring(1);
document.write(c);

6、string.substr(start,length):方法可在字符串中抽取从 start 下标开始的指定数目的字符。
start:必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2指倒数第二个字符,以此类推。
length:可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从stringObject的开始位置到结尾的字串。

var str = "这是一段测试的文字!";
var a = str.substr(7);
var b = str.substr(2,7);
var c = str.substr(-8);
document.write(c+"<br>"+a+"<br>"+b);

7、string.split(separator,howmany):将字符串分割为字符串数组
separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
注意:如果把空字符串 (“”) 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

var str = "1,2,3,4,5,6,7,8";
var str1 = "中国您好";
var str2 = "内 蒙 古 您好";
var str3 = "1,2.3;4|5/6";
var a = str.split(",");
var b = str.split(",",6)
var c = str1.split("");
var d = str2.split(" ");
var e = str3.split("|");
document.write(e[1]);

8、string.replace(regexp/substr,replacement):用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
regexp/substr:必需。规定子字符串或要替换的模式的 RegExp 对象。请注意,如果该值是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换为 RegExp 对象。
replacement:必需。一个字符串值。规定了替换文本或生成替换文本的函数。
注意:
replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。可以有 0 个或多个这样的参数。
全局替换:/查找内容/g

var str = "我爱你中国";
var a = str.replace("中国","大中国");
var b = str.replace("中国","大中国").replace("爱","喜欢");

var str1 = "1,2;3;4|5|6";
var c = str1.replace(/;/g,",");
//var d = str1.replace(/\\|/g,",");
var e = str1.replace(new RegExp("\\|","gm"),',').replace(/;/g,",");
document.write(e);

9.1、string.toLowerCase():字符串转换为小写
9.2、string.toUpperCase():字符串转换为大写

var x = "toLowerCase";
var d = "toUpperCase";
var a = x.toLowerCase();
var b = d.toUpperCase();
document.write(a+"<br>"+b);

练习1
使用prompt输入内容,获取内容,判断内容长度超出11位时,后面内容截取以…代替,并输出

//方法一
var a=prompt('请输入内容');
var b=a.length;

if (b>11) {
    var c=a.substring(0,11);
    document.write(c+"...");
}else {
    document.write("不够十一位");
}

switch (true) {
    case b>11:
    var c=a.substring(0,11);
    document.write(c+"...");
    break;
    default:
    document.write("不够十一位");
    break;
}
//方法二
document.write(a.replace(a.substr(11),"..."));

练习二
使用prompt输入手机号码,判断长度是否为11位如果不是11位提示重新输入,当为11位时候,处理手机号码格为:156****3333,并输出

var a=prompt("请输入手机号");
var b=a.length;

if (b!=11) {
    alert("请重新输入");
    var a=prompt("请输入手机号");
}else{
    var c=a.replace(a.substr(3,4),"****");
    document.write(c);
}

switch(true){
    case b!=11:
    alert("请重新输入");
    var a=prompt("请输入手机号");
    break;
    default:
    var c=a.replace(a.substr(3,4),"****");
    document.write(c);
    break;
}

练习三
var a = ‘f.a.3.5.ddd.jpg’;要求:从以上字符串中截取文件格式

var a = 'f.a.3.5.ddd.jpg';
var b = a.split(".");
document.write("."+b[5]);
//方法二
var c = a.lastIndexOf(".");
document.write(a.substr(c+1));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值