javascript - 对用户输入使用不同的警报
问题描述
我想在屏幕上显示用户输入,但只有 当它是一个5 个字母的单词时,所以如果它少于或多于 5 个字母,它应该显示一个警报,比如“只允许 5 个字母的单词”
当用户使用:,/'>等内容时,它应该显示另一个带有不同文本的警报。我想用一个else来做这个,但这没有用,然后我用了一个else if,但这也不能正常工作。
function Check_Input() {
input = Check.value;
if(isNaN(input)){
for (var i=0; i<word.length; i++){
var letter = input.charAt(i);
document.getElementById("letter" + (i + 1) + "rij" + rownumber).innerHTML = letter;
}
rownumber++;
} else {
alert('no valid input, only letters are allowed');
}
}
/*else{(input != word1.length){
alert('only 5 letter words are allowed');
}*/
解决方案
使用正则表达式进行字母验证
function Check_Input() {
input = Check.value;
let regex = /^[A-Za-z]+$/g; // regular expression for letters only
if (regex.test(input )){ //true if text not include numbers and special characters
if(input.length > 5){
alert('Max 5 letters are allow')
}else{
// text is valid
}
}else{
alert('only letters are allow')
}
}
推荐阅读
- python - 使用python检查文件中的名称是否匹配
- c++ - 编写将唯一指针推入向量的函数时出错
- node.js - Bitstamp 认证 API hmac
- kubernetes - 即使成功启用 Bolt,也无法建立与 Neo4j 使用螺栓方案的连接
- sharepoint - 如何禁用/隐藏将新文件上传到文档集后弹出的编辑表单(SP 2016)
- javascript - 如何在我在 javascript 中使用 DOM 创建的元素中使用 InnerHTML 添加内容
- c++ - 文件系统:错误无法删除:输入/输出错误
- java - MyBatis: IllegalArgumentException: Mapped Statements 集合不包含值
- python-3.x - Pandas Python groupby多列 - 根据具有特定值的第一列按第2列中的值对行进行排序
- python - 无法使用 plotly 创建 HTML 文件