我需要为表单验证编写一个正则表达式,允许字符串中的空格,但不允许只有空格。例如,如果用户只输入空格,则应触发javascript警报
我尝试了这个,但这不起作用
<script>
if (document.getElementsByClassName('notes') == " ") {
alert("Notes should not begin with space");
}
}
HTML
<textarea name="notes" class="form-control" class="notes"></textarea>
答案 0 :(得分:1)
if (document.getElementsByClassName('notes') == " ")
getElementsByClassName()
返回节点集合,而非节点值,使用[]
和value
属性以及trim()
。
if(document.getElementsByClassName('notes')[0].value.trim() === "")
答案 1 :(得分:1)
您需要获得value
input
之类的内容:
if (document.getElementsByClassName('notes')[0].value == "") {
alert("Notes should not begin with space");
}
聚苯乙烯。 getElementsByClassName
将返回元素列表。因此,与" "
相比,将始终返回false
。
答案 2 :(得分:1)
您正在将document.getElementsByClassName返回的元素数组与“”进行比较,这显然是假的,您想要比较元素的值。
if (document.getElementsByClassName('notes')[0].value[0] == " ") {
alert("Notes should not begin with space");
}
在此示例中,.value
返回textarea的值,.value[0]
表示值的第一个char
答案 3 :(得分:1)
请检查您的HTML。有两个类属性:
__
首先合并它们:
<textarea name="notes" class="form-control" class="notes"></textarea>
现在选择器
<textarea name="notes" class="form-control notes"></textarea>
应该给你目标元素。
答案 4 :(得分:0)
好的我明白了。上面的所有答案都是正确的,但我必须添加&#34; onclick&#34;提交活动
<input type="submit" name="submit" class="btn btn-primary btn-default" value="submit" onclick="return showAlert()">
JS
<script>
function showAlert(){
if (document.getElementsByClassName('notes')[0].value[0] == " ") {
alert("Notes should not begin with space");
return false;
}
}
答案 5 :(得分:0)
试试这项工作正常:
HTML:
<textarea name="notes" class="form-control notes"></textarea>
脚本:
$('textarea').on('keyup', function(){
if (document.getElementsByClassName('notes')[0].value[0] == " ") {
alert("Notes should not begin with space");
}
});