<input type="text" name="user" maxlength="10">
我有一些代码:
$("#user").keyup(function(e){
if($("#user").val().length < 4) {$("#spanUser").html("Too Short !");} //works
我怎么写:
if($("#user").val().length > 0 < 4)... // between 1 and 4
if($("#user").val().length == 10) {play a beep sound;}
答案 0 :(得分:1)
使用&amp;&amp;操作者..
试试这个
var valLength=$("#user").val().length ; //declare a variable.. which is bit faster than calling a selector again n again
if(valLength > 0 && valLength< 4){ //use && operator here
//do your stuff
}else if(valLength == 10){ //else if length is 10..
//play beep sound
}
答案 1 :(得分:1)
if($("#user").val().length > 0 && $("#user").val().length< 4)
{
//between 1 and 4
}
答案 2 :(得分:1)
$("#user").keyup(function(e){
var elem = $("#user");
if(elem.val().length < 4) {
$("#spanUser").html("Too Short !"); //works
} else if(elem.val().length > 0 && elem.val().length < 4) {
//Your code here
} else if(elem.val().length == 10) {
//play beep sound
}
答案 3 :(得分:1)
你的意思是:
var length = $("#user").val().length;
if(length > 0 && length < 4)
{... // between 1 and 4
}
else if(length == 10)
{play a beep sound;}
答案 4 :(得分:1)
你可以为这个
应用这种正则表达式^[A-Za-z]{1,4}$
您可以使用范围量词{min,max}指定最少1个字符,最多4个字符
var patt1=new RegExp("^[A-Za-z]{1,4}$");
if(patt1.test($("#user").val())
{
}
答案 5 :(得分:1)
首先,您应该使用keypress
事件,因为您当前的代码允许某人按住该键并获得多个字符。
$("#user").keypress(function(e) {
var userVal = $("#user").val();
if (userVal.length >= 1 && userVal.length <= 4) {
$("#spanUser").html("Too Short !");
}
else if (userVal.length == 10) {
// play beep sound
}
});
答案 6 :(得分:1)
我认为用一种条件检查就足够了。看看你如何拥有一个文本框,无论如何,长度只能是一个正数。
if($("#user").val().length) < 4) {
//your code.
}
答案 7 :(得分:1)
从用户体验的角度来看,您的实施存在一些问题。
首先,作为最终用户,我不想在开始写文本框时立即看到警告。当用户完成用户文本框时,您最好显示此警报/警告。你应该考虑失去焦点事件。
第二,当输入达到最大值时播放声音不是一个好主意。您的用户使用的设备可能没有声音功能或禁用的声音设备。甚至用户也可能听力不足。对于大多数情况,MaxLenght应该足够了。如果你想更多地强调这个限制,你可以在输入旁边放一个警告,但是能见度很低。
我知道这不是你问题的答案,但可以某种方式帮助你。