You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript:如何获取prompt输入姓名的首尾字符?

获取字符串首尾字符的正确方法

你之前用indexOf(0)和lastIndexOf(-1)的思路完全错了——这两个方法是用来查找指定字符在字符串中的位置,不是直接提取对应位置的字符,所以传数字0、-1根本找不到目标,只会返回-1。

首字符的几种实现方式

你已经用slice(0,1)解决了首字符问题,除此之外还有两种常用写法:

  • 使用charAt()方法:name.charAt(0),如果字符串为空会返回空字符串,不会报错
  • 直接通过下标访问:name[0],如果字符串为空会返回undefined

示例代码:

const name = prompt('请输入你的姓名');
// 获取首字符
document.body.innerHTML += `你的姓名首字母是:${name.slice(0, 1)}<br />`;
document.body.innerHTML += `你的姓名首字母是:${name.charAt(0)}<br />`;
document.body.innerHTML += `你的姓名首字母是:${name[0]}<br />`;

最后一个字符的实现方法

方法1:用slice()(最简洁)

slice()支持负数索引,slice(-1)会直接截取字符串的最后一个字符:

document.body.innerHTML += `你的姓名尾字母是:${name.slice(-1)}<br />`;

方法2:用charAt()

先通过name.length获取字符串总长度,最后一个字符的下标是长度-1:

document.body.innerHTML += `你的姓名尾字母是:${name.charAt(name.length - 1)}<br />`;

方法3:直接下标访问

同样利用长度计算下标:

document.body.innerHTML += `你的姓名尾字母是:${name[name.length - 1]}<br />`;

额外提示

如果用户可能输入空字符串,建议先做有效性判断,避免出现异常结果:

const name = prompt('请输入你的姓名');
if (name) {
  // 执行首尾字符获取逻辑
} else {
  alert('请输入有效的姓名');
}

内容的提问来源于stack exchange,提问作者Kazbonfim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:45:39