2

簡単に聞こえますが、私はJavascriptの初心者であり、このスクリプトを見つけたり作成したりするのに非常に苦労しています. クレジット カードの BIN 番号のリストがあり、カード番号フィールドの最初の 6 桁を取得してカードの種類を確認し、入力された BIN に基づいて適切なカード ロゴを画面に表示しようとしています。

入力をチェックし、値または要素を変更できる非常に単純なスクリプトを作成できましたが、その逆を行う方法がわかりませんでした。ユーザーがカードを削除してカード情報を再入力した場合、カードのロゴを削除して置き換えることができる必要があります。

これは非常に簡単なデモです。 http://jsfiddle.net/6HmxM/653/

$( "input" )

  .keyup(function() {
  if ($( "input" ).val() == 45) {
      var val = "Visa";
  } 
  $( "p" ).text( val )
})
4

1 に答える 1

1

switchこの場合、おそらく空であるデフォルトを出力するために a を使用するのがおそらく最善です。必要なものを印刷するように各ケースを設定するだけです。そうしないと、 で定義されているものがデフォルトになりますdefault:

$( "input" )

  .keyup(function() {

      var $value = $(this).val(),
          output = "";

      switch( $value ) {

          case "45" :
              output = "Visa";
          break;

          case "44" :
              output = "Mastercard";
          break;

          default:
              output = "Nothing";
              break;


      }

      $( "p" ).text( output )
  })

例: http://jsfiddle.net/6HmxM/655/

ただし、最初の 6 文字に基づいて を調整する必要があるかもしれませんswitch。最初の 6 文字に一致するように正規表現を使用する可能性がoutputあります。その場合、次のようなものが必要になる可能性があります。

$( "input" )

  .keyup(function() {

      var $value = $(this).val(),
          output = "";

      switch( true ) {

          case /4567/.test($value) :
              output = "Visa";
          break;

          case /4412/.test($value) :
              output = "Mastercard";
          break;

          default:
              output = "Nothing";
          break;

       }

      $( "p" ).text( output )
  })

例: http://jsfiddle.net/6HmxM/656/

于 2013-11-08T21:42:29.253 に答える