Javascript 仅当文本框中存在任何字符或数字时,才允许在该文本框中留有空格
我有一个textbox,我需要以这样的方式进行验证:如果textbox为空,它不应该允许空格。如果文本框中有任何值,则只有文本框允许空格。我尝试下面的代码,但没有工作Javascript 仅当文本框中存在任何字符或数字时,才允许在该文本框中留有空格,javascript,jquery,Javascript,Jquery,我有一个textbox,我需要以这样的方式进行验证:如果textbox为空,它不应该允许空格。如果文本框中有任何值,则只有文本框允许空格。我尝试下面的代码,但没有工作 var letters = /^[0-9a-zA-Z]+$/; $("#input1").on("blur ", function() { function alphanumeric(username) { if (username.value.match(letters)) { return true
var letters = /^[0-9a-zA-Z]+$/;
$("#input1").on("blur ", function() {
function alphanumeric(username) {
if (username.value.match(letters)) {
return true;
} else {
$('#input1').on('keypress', function(e) {
if (e.which == 32)
return false;
});
return false;
}
}
})
为什么不修剪一下呢
username.trim()
之后,您可以返回匹配结果。为什么不直接修剪
username.trim()
之后,您可以返回匹配结果。您的正则表达式似乎有误。
您不允许使用空格字符
请尝试此选项:/\S/
\S是任何非空白字符
如果要以字符开头,它将变成/^\S/
^是您希望从以下字符开始的时间
$是指当您希望按上一个字符结束时,您的正则表达式似乎是错误的。
您不允许使用空格字符
请尝试此选项:/\S/
\S是任何非空白字符
如果要以字符开头,它将变成/^\S/
^是您希望从以下字符开始的时间
$是指您希望在模糊事件中添加一个函数,该函数将修剪值,从而删除前面和后面的空白。如果该值为空,则会导致
$input1.onblur,函数{
如果$this.val.trim=={
警报“空值”;
}
};
在模糊事件上添加一个函数,该函数将修剪值,从而删除前面和后面的空白。如果该值为空,则会导致
$input1.onblur,函数{
如果$this.val.trim=={
警报“空值”;
}
};
如果您使用的是表单,则不需要任何javascript
如果您使用的是表单,则不需要任何javascript
您可以这样做:
$(function() {
$('#input1').on('keypress', function(e) {
if ($(this).val() == "")
if (e.which == 32)
return false;
});
});
您可以这样做:
$(function() {
$('#input1').on('keypress', function(e) {
if ($(this).val() == "")
if (e.which == 32)
return false;
});
});
不要在事件处理程序中添加事件处理程序。每次你模糊你得到另一个按键-只需添加按键本身,并检查那里的内容。如果你删除你的正则表达式中的$符号,我认为它会以你想要的方式工作。不要在事件处理程序中添加事件处理程序。每次你模糊你得到另一个按键-只需添加按键本身,并检查那里的内容。如果你删除你的正则表达式中的$符号,我认为它会以你想要的方式工作。正如SUN提到的,如果输入为空,他想禁用输入空格,但是.trim会从用户名中删除空格。所以当只有空格时,函数将返回false,表单验证将失败?这不是期望的结果吗?返回username.value.trim.matchletters;其中字母还应包含包含空格的选项。如果e.which==32,则在本例中返回false用于输入字符,而不是验证。验证方法应该是检查用户名的不同方法。正如SUN在问题标题中提到的,他试图允许在文本框中输入空格。正如SUN提到的,如果输入为空,他想禁用输入空格,但是.trim会从用户名中删除空格。所以当只有空格时,函数将返回false,表单验证将失败?这不是期望的结果吗?返回username.value.trim.matchletters;其中字母还应包含包含空格的选项。如果e.which==32,则在本例中返回false用于输入字符,而不是验证。验证方法应该是检查用户名的不同方法。正如SUN在问题标题中提到的,他试图允许在文本框中输入空格。