我四处寻找我的问题的答案,但我发现的所有解决方案都没有考虑到空格也可以作为输入。
我有一个连接功能,如果用户只输入空格,则不应该启用该按钮。它应该需要实际的文本。任何人都有解决方案吗?
这是我的功能:
$("#join").click(function(){
var name = $("#name").val();
if (name != "") {
socket.emit("join", name);
$("#login").detach();
$("#UsersOnline").show();
$("#msg").show();
$("#messaging").show();
$("#msg").focus();
ready = true;
}
答案 0 :(得分:0)
你可以使用jquery trim()
var name = $.trim($("#name").val());
https://api.jquery.com/jQuery.trim/
编辑:
正如@David Thomas指出的那样,我们也可以使用String.prototype.trim()
var name = $("#name").val().trim();
function updateResult() {
var before = $("#name").val().replace(/\s/g,'SPACE');
var name = $("#name").val().trim();
$('#result').text('Before:' + before + "\nAfter:" + name);
}
$(document).ready(function(){
updateResult();
$('body').on('keyup','#name',function(){
updateResult();
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>By default value i left left a space for the name</p>
Name : <input type="text" id="name" value=" "><br>
<br>
Value of name : <pre id="result">empty</pre>