gpt4 book ai didi

javascript - 数组排序: Alphabetical and Numerically

转载 作者:行者123 更新时间:2023-12-03 11:46:33 26 4
gpt4 key购买 nike

我想要一个带有文本框的网页。文本框下方有两个按钮,分别是“按字母顺序排序”和“按数字排序”。我希望这样无论用户在框中输入什么内容,它都会进行排序。如果用户输入数字和字母,则会取消排序,并弹出警告“不能是字母和数字”。单击“按字母顺序排序”按钮时,JavaScript 代码将激活并按字母顺序对单词进行排序。 “按数字排序”按钮也是如此。我似乎无法对单词/数字进行排序。

HTML:

<html>
<head>
<title>Sorter</title>
<script type="text/javascript" src="sorter.js"></script>
</head>
<body>
<form>
Words/Numbers to Be Sorted:<input type="text" id="textbox" size="35"/>
<br/>
<button type="button" onclick="sortAbc()">Sort Alphabetically</button>
<button type="button" onclick="sortNumber()">Sort Numerically</button>
<br/>
<h1>Each number/word shall be separated by a space.</h1>
</form>
</body>
</html>

JavaScript:

function sortAbc() {
var captureText = document.getElementById('textbox');
captureText.sort();
//Help! How to make alert pop up when numbers and letters are typed?
}

function sortNumber() {
var captureNumb = document.getElementByid('textbox');
captureNumb.sort(function(a, b){return a-b});
//Same problem here! How to make alert pop up when numbers and letters are typed?
}

最佳答案

这是一个完整的实时示例。

  • 使用正则表达式 (.match) 检查数字或单词
  • 使用数组函数sort

function sortAbc() {
var captureText = document.getElementById('textbox');
if (captureText.value.match(/(?:^| )[\d]+(?: |$)/)) {
alert("no digits");
return;
}
var words = captureText.value.split(" ");
captureText.value = words.sort().join(" ");
}

function sortNumber() {
var captureNumb = document.getElementById('textbox');
if (captureNumb.value.match(/[^\s\d]/)) {
alert("no letters");
return;
}
var numbers = captureNumb.value.split(" ");
captureNumb.value = numbers.sort(function (a, b) { return a - b }).join(" ");
}
<html>
<head>
<title>Sorter</title>
<script type="text/javascript" src="sorter.js"></script>
</head>
<body>
<form>
Words/Numbers to Be Sorted:<input type="text" id="textbox" size="35"/>
<br/>
<button type="button" onclick="sortAbc()">Sort Alphabetically</button>
<button type="button" onclick="sortNumber()">Sort Numerically</button>
<br/>
<h1>Each number/word shall be separated by a space.</h1>
</form>
</body>
</html>

关于javascript - 数组排序: Alphabetical and Numerically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26025516/

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