html中文本输入的第一个字符必须是字母,并且字数不能超过20个不能小于6个,并且必须存在@,若文本输入框中内容输入错误后,并点击按钮提交后,如何在该文本输入框的末尾显示红色的"您输入错误"的文字,要求不能使用正侧表达式
时间: 2024-03-02 21:49:37 浏览: 58
验证html中文本框中数字、字母和汉字的长度
4星 · 用户满意度95%
如果不能使用正则表达式,可以使用JavaScript中的字符串方法来验证输入值是否符合要求。
以下是一个可能的实现代码:
```javascript
const inputBox = document.querySelector("#input-box"); // 获取文本输入框的DOM元素
const submitButton = document.querySelector("#submit-button"); // 获取提交按钮的DOM元素
submitButton.addEventListener("click", function() {
const inputValue = inputBox.value.trim(); // 获取文本输入框的值并去除首尾空格
// 验证输入值是否符合要求
const firstChar = inputValue.charAt(0); // 获取第一个字符
const hasAtSymbol = inputValue.includes("@"); // 是否包含@
const inputLength = inputValue.length; // 输入值的长度
const isInputValid = firstChar.match(/[a-zA-Z]/) && hasAtSymbol && inputLength >= 6 && inputLength <= 20;
if (!isInputValid) {
inputBox.style.color = "red"; // 设置文本输入框的文字颜色为红色
inputBox.insertAdjacentHTML("afterend", "<p style='color: red;'>您输入错误</p>"); // 在文本输入框的末尾添加一段红色的错误提示文字
}
});
```
这个实现代码使用了`String.charAt()`方法获取输入值的第一个字符,使用`String.includes()`方法判断输入值中是否包含@,使用`String.length`属性获取输入值的长度。然后,根据这些条件来判断输入值是否符合要求。如果不符合要求,就执行与上面一段代码相同的错误提示逻辑。
阅读全文