2013-01-14 115 views
0
<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

究竟,如何使用&&。如果(($(「#user」).val().length> 0)&&($(「#user」).val().length <4))...併發出嘟嘟聲, ://stackoverflow.com/questions/879152/how-do-i-make-javascript-beep – thang

+0

非常感謝everyOne。解決了。 (也許除了'嘟嘟聲') – Alegro

回答

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 
    } 
}); 
+0

@Sibu謝謝,我錯過了那一個:) –

1

使用& &運營商..

試試這個

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
if($("#user").val().length > 0 && $("#user").val().length< 4) 
{ 
    //between 1 and 4 
} 
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  
    } 
1

你的意思是這樣的:

var length = $("#user").val().length; 
if(length > 0 && length < 4) 
{... // between 1 and 4 
} 
else if(length == 10) 
{play a beep sound;} 
1

你可以申請這種正則表達式的這個

^[A-Za-z]{1,4}$ 

您可以使用範圍量詞{最小值,最大值}指定最少1個字符和最多4個字符

var patt1=new RegExp("^[A-Za-z]{1,4}$"); 
if(patt1.test($("#user").val()) 
{ 
} 
1

我想用一個條件檢查就足夠了。看到你有一個文本框,無論如何,長度只能是一個正數。

if($("#user").val().length) < 4) { 
    //your code. 
} 
1

從用戶體驗的角度來看,這裏有一些關於你的實現的問題。

首先,作爲最終用戶,我不想在我開始寫文本框時立即看到警告。當用戶完成用戶文本框時,最好顯示此警告/警告。你應該考慮失去焦點事件。

其次,當輸入達到最大值時播放聲音並不是一個好主意。用戶正在使用的設備可能沒有聲音功能或禁用聲音設備。即使用戶可能聽不到。 MaxLenght對於大多數情況下應該足夠了。如果您希望更多地強調此限制,則可以在輸入旁邊放置警告,並以某種方式降低可見度。

我知道這不是你的問題的答案,但可以以某種方式幫助你。

+0

Yigit,謝謝。當然,你是對的。輸入完成後最好顯示警告。 – Alegro

+0

@Alegro歡迎您。 –