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;}
4

8 に答える 8

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
}
于 2013-01-14T09:43:48.797 に答える
1
if($("#user").val().length > 0  && $("#user").val().length< 4)
{
    //between 1 and  4
}
于 2013-01-14T09:43:52.390 に答える
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    
    } 
于 2013-01-14T09:44:32.847 に答える
1

次のような意味ですか?

var length = $("#user").val().length;
if(length > 0 && length < 4)
{... // between 1 and  4
}
else if(length == 10)
{play a beep sound;}
于 2013-01-14T09:44:36.980 に答える
1

この種の正規表現をこれに適用できます

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

範囲数量詞{min、max}を使用して、最小1文字から最大4文字を指定できます。

var patt1=new RegExp("^[A-Za-z]{1,4}$");
if(patt1.test($("#user").val())
{
}
于 2013-01-14T09:45:01.567 に答える
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
    }
});
于 2013-01-14T09:45:29.377 に答える
1

1つの条件でのチェックで十分だと思います。テキストボックスをどのように持っているかを見て、とにかく長さは正の数にしかなりません。

if($("#user").val().length) < 4) {
    //your code.
}
于 2013-01-14T09:47:29.433 に答える
1

ユーザー エクスペリエンスの観点から、ここでの実装にはいくつかの問題があります。

まず、エンド ユーザーとして、テキスト ボックスに書き込みを開始した直後に警告が表示されるのは望ましくありません。ユーザーがユーザーテキストボックスを使い終わったときに、このアラート/警告を表示することをお勧めします。これには、lost focus イベントを考慮する必要があります。

次に、入力が最大に達したときにサウンドを再生するのは得策ではありません。ユーザーが使用しているデバイスにサウンド機能がないか、サウンド デバイスが無効になっている可能性があります。ユーザーでさえ聴覚障害者である可能性があります。ほとんどの場合、MaxLenght で十分です。この制限をさらに強調したい場合は、入力の横に警告を配置して、可視性を低くすることができます。

これがあなたの質問に対する答えではないことはわかっていますが、何らかの形であなたを助けることができます.

于 2013-01-14T09:52:08.910 に答える