字符串对象

本文介绍了JavaScript中的字符串对象,包括如何根据字符返回位置、根据位置返回字符串,以及字符串的各种操作方法,如截取、连接和替换。同时,举例说明了如何确保用户名在3到10个字符之间且不包含敏感词'admin'的任何大小写形式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、字符串对象

1、根据字符返回位置

2、根据位置返回字符串

3、字符串的操作方法


一、字符串对象

1、根据字符返回位置

方法

功能描述

indexOf(‘a’)

获取a在字符串中首次出现的位置

lastIndexOf(‘a’)

获取a在字符串中最后出现的位置

 

 要求:在一组字符串中,找到所有指定元素出现的位置以及次数

var str = 'Hello World, Hello JavaScript';
var index = str.indexOf('o');
var num = 0;
while (index != -1) {
  console.log(index);		  // 依次输出:4、7、17
  index = str.indexOf('o', index + 1);
  num++;
}
console.log('o出现的次数是:' + num);  // o出现的次数是:3

2、根据位置返回字符串

成员

作用

charAt(index)

获取index位置的字符,位置从0开始计算

charCodeAt(index)

获取index位置的字符的ASCII码

str[index]

获取指定位置处的字符(HTML5新增)

 使用charAt()方法通过程序来统计字符串中出现最多的字符和次数

// 统计出现次数最多的字符和次数
var str = 'zxcvbzxzzcvz';
// 第1步,统计每个字符的出现次数
var o = {};
for (var i = 0; i < str.length; i++) {
  var chars = str.charAt(i);	// 利用chars保存字符串中的每一个字符
  if (o[chars]) {	               // 利用对象的属性来方便查找元素
    o[chars]++;
  } else {  o[chars] = 1; }
}
console.log(o);		// 输出结果:{z: 5, x: 2, c: 2, v: 2,b:1}

// 第2步, 统计出现最多的字符
var max = 0;		// 保存出现次数最大值
var ch = '';		// 保存出现次数最多的字符
for (var k in o) {
  if (o[k] > max) {
    max = o[k];
    ch = k;
  }
}
// 输出结果:“出现最多的字符是:z,共出现了5次”
console.log('出现最多的字符是:' + ch + ',共出现了' + max + '次');

3、字符串的操作方法

字符串对象提供了一些用于截取字符串、连接字符串、替换字符串的属性和方法。字符串对象的常用属性和方法如下:

方法

作用

concat(str1, str2, str3…)

连接多个字符串

slice(start,[ end])

截取从start位置到end位置之间的一个子字符串

substring(start[, end])

截取从start位置到end位置之间的一个子字符串,基本和slice相同,但是不接收负值

substr(start[, length])

截取从start位置开始到length长度的子字符串

toLowerCase()

获取字符串的小写形式

toUpperCase()

获取字符串的大写形式

split([separator[, limit])

使用separator分隔符将字符串分隔成数组,limit用于限制数量

replace(str1, str2)

使用str2替换字符串中的str1,返回替换结果,只会替换第一个字符

 用户名长度在3~10范围内,不能出现敏感词admin的任何大小写形式。

//判断用户名是否合法
var name = prompt('请输入用户名');
if (name.length < 3 || name.length > 10) {
  alert('用户名长度必须在3~10之间。');
} else if (name.toLowerCase().indexOf('admin') !== -1) {
  alert('用户名中不能包含敏感词:admin。');
} else {
  alert('恭喜您,该用户名可以使用');
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值