JavaScript表单验证 - 值长度和阻止的单词列表
javascript form validation - value length and list of blocked words
好的,这个问题已经解决了!!谢谢大家,以下是最初的问题,所以你知道我想要实现什么,也许这会在将来对其他人有所帮助 ....基本上,当人们提交表单时,我希望脚本检查输入的值长度是否至少为某个数字。而且用户没有输入某个确切的单词。如果他们准确地输入了其中一个禁止的单词,或者如果他们输入的值没有足够的字符,那么我希望脚本失败,不发送输入值,而是通过将div 的 CSS 显示从无更改为阻止来显示错误消息。
这是更新的工作Javascript!
JAVASCRIPT:
function wordcheck() {
var words = ['words','Words'];
if(document.getElementById('top').value.length < 5){
var error = document.getElementById('error');
error.style.display = 'block';
return false;
}
if(document.getElementById('bottom').value.length < 5){
var error = document.getElementById('error');
error.style.display = 'block';
return false;
}
for(var i = 0;i < words.length;i++){
if(document.getElementById('top').value == words[i]){
var error = document.getElementById('error');
error.style.display = 'block';
return false;
}
}
for(var i = 0;i < words.length;i++){
if(document.getElementById('bottom').value == words[i]){
var error = document.getElementById('error');
error.style.display = 'block';
return false;
}
}
return true;
}
和供参考的网页
HTML:
<form method="get" action="test.html" id="formdate" class="formdate" onsubmit="return wordcheck()">
<input name="top" type="text" id="top" placeholder="top">
<input name="bottom" type="text" id="bottom" placeholder="bottom">
<button id="button" type="submit">Enter</button>
<div id="error" >
sorry try again
</div>
CSS:
#error {
color:red;
display: none;
margin-bottom: 10px;
text-align: center;
}
谢谢!
试试这段代码
function check() {
var banned = ['january','January','11:03pm','11:03PM'];
if(document.getElementById('date').value.length < 8){
var error = document.getElementById('error');
error.style.display = 'block';
return false;
}
if(document.getElementById('time').value.length < 8){
var error = document.getElementById('error');
error.style.display = 'block';
return false;
}
return true;
}
代码的问题出在行中
document.getElementById('error').css('display','block');
应该是
document.getElementById('error').style.display = 'block';
document.getElementById
返回一个表示元素的 Element
对象。.css(key,val)
语法适用于 jQuery 返回的对象;在这种情况下,由于您没有使用 jQuery 访问该元素,因此您需要修改 style.display
属性。请参阅HTMLElement.style
要检查字符串是否包含在字符串数组中,请尝试banned.indexOf(str) != -1
。看到这个SO问题。
相关文章:
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 如何根据 js 中每个单词的第 n 个字母按字母顺序排列列表
- 如何将单词列表拆分为数组
- JQuery-从单词列表生成网格
- JavaScript-从脚本中的单词列表创建一个html表或网格
- 如何更新单词列表中搜索框中包含用户键入内容的单词/字母数
- 创建一个输入,该输入在用户键入后立即不断更新单词列表
- 忽略单词列表
- JavaScript中要忽略的单词列表
- 如何检查我的 chrome 扩展程序的 if 语句中的单词列表
- 如何使用Javascript正则表达式从可能的单词列表中获取单词的最后一次出现
- 在JavaScript中,如何使用regex进行匹配,除非单词在排除的单词列表中
- 如何使用正则表达式来获取阿拉伯字符串中的单词列表?
- 将单词列表转换为数组
- 向单词列表添加一些文本
- 有没有“电影演职员表”滚动显示?样式插件的单词列表
- 获取字符串中包含子字符串的单词列表
- 使用可选的包含和排除单词列表来定位一组单词
- 纯Javascript -查找/替换DOM中的单词列表
- JavaScript表单验证 - 值长度和阻止的单词列表