我正在jquery
验证来自用户的输入。如果输入为空,则返回false并且不运行jquery
代码,如果它包含某些文本,则运行jquery
代码。
这是一个例子 -
function sendm() {
var valid;
valid = sendmval();
if (valid) {
//jquery code
}
}
function sendmval() {
var valid = true;
if (!$('#message').val()) {
valid = false;
} else {}
return valid;
}
这很好用。但是,当用户仅输入blank spaces
时会出现问题,从而导致即使在空白输入上也运行jquery
代码。我该如何防止这种情况?
答案 0 :(得分:4)
由于spaces
计为字符,因此您必须使用Jquery的$.trim()
,如下所示: -
if (!$.trim($('#message').val())) {
valid = false;
}
更多参考: -
答案 1 :(得分:3)
由于空格也是一个字符,因此简单地使用Javascript字符串的.trim()
函数来删除开头和结尾的空格。然后像往常一样继续检查。
注意:我已经改变了:
if (!$('#message').val())
到
if (!$('#message').val().trim())
查看完整的工作代码测试:
function sendm() {
var valid;
valid = sendmval();
if (valid) {
alert("valid & sendm");
}
}
function sendmval() {
var valid = true;
if (!$('#message').val().trim()) {
valid = false;
} else {}
return valid;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="message">
<button onclick="sendm()">CHECK</button>