js实现两个input框,第一个输入m,第二个输入m位纯小写字符串,利用接口做ajax请求,找到连续字符最长的子串长度在页面进行显示
时间: 2024-09-22 11:02:54 浏览: 56
在JavaScript中,你可以创建一个简单的HTML结构包含两个输入框,然后通过AJAX向服务器发送数据。这里是一个基本示例,我们将使用fetch API来进行无刷新的异步请求:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Find Longest Substring</title>
<style>
#result {
margin-top: 10px;
}
</style>
</head>
<body>
<label for="inputM">请输入数字m:</label>
<input type="number" id="inputM" required>
<br>
<label for="inputString">请输入m位纯小写字母的字符串:</label>
<input type="text" id="inputString" pattern="[a-z]{1,m}" required>
<button onclick="findLongestSubstring()">查找并显示</button>
<div id="result"></div>
<script>
async function findLongestSubstring() {
const m = document.getElementById('inputM').value;
const inputString = document.getElementById('inputString').value;
if (!Number.isInteger(m) || m <= 0 || !inputString.match(/^[a-z]+$/)) {
alert("输入错误,请确保m为正整数,输入字符串仅包含小写字母且长度为m");
return;
}
let longestSubstringLength = 0;
let currentSubstring = '';
// 检查每个连续字符子串
for (let i = 0; i < inputString.length; i++) {
currentSubstring += inputString[i];
if (currentSubstring.length === m) {
longestSubstringLength = Math.max(longestSubstringLength, currentSubstring.length);
currentSubstring = '';
}
}
if (currentSubstring.length === m) { // 如果字符串刚好是m长度,则也算作一个可能的最长子串
longestSubstringLength = Math.max(longestSubstringLength, currentSubstring.length);
}
document.getElementById('result').innerText = `最长连续字符子串长度为: ${longestSubstringLength}`;
}
</script>
</body>
</html>
```
在这个例子中,用户输入数字`m`和对应的小写字符串后,点击“查找并显示”按钮,会计算字符串中所有长度为`m`的连续字符子串,并展示最长的一个。
阅读全文