gpt4 book ai didi

javascript - 从字符串中取出大写字母并打印它们

转载 作者:行者123 更新时间:2023-11-28 20:03:16 25 4
gpt4 key购买 nike

我正在尝试制作一个程序,获取一个人的名字并返回他的姓名首字母,例如,如果他的名字是约翰·迈克尔·罗杰斯,我想得到结果 JR(不带 M)。我想出了一个只返回最后一个大写字母的解决方案。这是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Second task HS</title>
</head>

<body>

<form name="myForm" id="eForm">
<label for="first">Name</label>
<input type="text" id="name" name="fullname"><br>
<input name="button" type="button" value="Pick" onclick="pick();"/>
</form>
<div id="result">
</div>

<script>
var name = document.getElementById("name").value;
function pick() {
for(var i = 0; i < name.length; i++){
if(name[i] === name[i].toUpperCase() && name[i] !== name[i].toLowerCase()){
document.getElementById('result').innerHTML = name[i]
}
}
}
</script>
</body>
</html>

如何指定我希望脚本仅从字符串的第一个和最后一个空格分隔的部分搜索字母。就像约翰·迈克尔·罗杰斯的示例一样,仅在约翰和罗杰斯中搜索。

最佳答案

这是一个函数,它将接受一个名称,将其拆分并返回一个包含第一个和最后一个名称的大写字母的对象,无论提交的名称是否大写。

var name = 'John Michael Rogers';
var name2 = 'john Michael Rogers moore';

function getInitials(name) {
var arr, nameArr, first, last;
nameArr = name.split(' ');
first = nameArr[0][0].toUpperCase();
last = nameArr[nameArr.length - 1][0].toUpperCase();
return {first: first, last: last};
}

getInitials(name); // { first: 'J', last: 'R' }
getInitials(name2); // { first: 'J', last: 'M' }

Demo

下面的版本允许您指定是否希望结果作为对象、数组或字符串返回:

Demo2 .

关于javascript - 从字符串中取出大写字母并打印它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21263719/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com