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

在这种情况下,最好使用 aswitch来打印默认值,它可能是空白的。只需将每个案例设置为打印出您想要的内容,否则它将默认为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/

虽然,您可能必须switch根据前 6 个字符进行调整,可能是匹配前 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 回答