web-dev-qa-db-ja.com

確認方法PANカード?

「ABCDE1234F」のようなパンカードの編集テキストの検証をチェックする方法。これの検証を確認する方法が混乱しています。みんな助けてください。どんな助けにも感謝します。

14
Sunil Kumar

パターンマッチングで正規表現を使用できます

String s = "ABCDE1234F"; // get your editext value here
Pattern pattern = Pattern.compile("[A-Z]{5}[0-9]{4}[A-Z]{1}");

Matcher matcher = pattern.matcher(s);
// Check if pattern matches 
if (matcher.matches()) {
  Log.i("Matching","Yes");
}   

[A-Z]{5} - match five literals which can be A to Z
[0-9]{4} - followed by 4 numbers 0 to 9
[A-Z]{1} - followed by one literal which can A to Z

あなたは正規表現@をテストすることができます

http://Java-regex-tester.appspot.com/

http://docs.Oracle.com/javase/tutorial/essential/regex/

32
Raghunandan

@Raghunandanは正しいです。正規表現を使用できます。 Permanent_account_number(India) のwikiエントリが表示された場合、PANカード番号の形成の意味がわかります。パターンを使用して、その有効性を確認できます。関連部分は次のとおりです。

PAN structure is as follows: AAAAA9999A: First five characters are letters, next 4 numerals, last character letter.

1) The first three letters are sequence of alphabets from AAA to zzz
2) The fourth character informs about the type of holder of the Card. Each assesse is unique:`

    C — Company
    P — Person
    H — HUF(Hindu Undivided Family)
    F — Firm
    A — Association of Persons (AOP)
    T — AOP (Trust)
    B — Body of Individuals (BOI)
    L — Local Authority
    J — Artificial Judicial Person
    G — Government


3) The fifth character of the PAN is the first character
    (a) of the surname / last name of the person, in the case of 
a "Personal" PAN card, where the fourth character is "P" or
    (b) of the name of the Entity/ Trust/ Society/ Organisation
in the case of Company/ HUF/ Firm/ AOP/ BOI/ Local Authority/ Artificial Jurdical Person/ Govt,
where the fourth character is "C","H","F","A","T","B","L","J","G".

4) The last character is a alphabetic check digit.

`

お役に立てれば。

9
Shobhit Puri

こんにちは、カードの検証のために、プロジェクトで2つのステップのプロセスを実行する必要があります。

1.)フォームを作成し、ユーザーパンカード番号を取得する

2.)ユーザーのパンカード画像をアップロードする

両方のステップが完了したら、検証のためにバックエンドでロジックを作成します。これについては、以下のチュートリアルに従うことができます:

https://www.lelocode.com/posts/pan-verification-in-laravel-using-baidu-ocr-universal-text-recognition-%28high-precision-version%29

0
vishnu sharma

所得税法に従い、PANカードのガイドラインは次のとおりです。

パンカードのフォーマット:例ABCDE0123F

所得税PANカードは所得税法のセクション139Aに基づいて発行されます。PAN構造は次のとおりです:AAAPL1234C:最初の5文字が文字、その後に4つの数字が続き、最後の(10番目の)文字は文字です。4番目(4番目)の文字はカードの所有者を示します。

パンカードに関する詳細情報: https://en.m.wikipedia.org/wiki/Permanent_account_number

コード検証用 "[AZ] {5} [0-9] {4} [AZ] {1}"

Javaの場合:

public static boolean isPanCardValid(String pan_number) {

  Pattern pattern = Pattern.compile("[A-Z]{5}[0-9]{4}[A-Z]{1}");

  Matcher matcher = pattern.matcher(pan_number);
  // Check if pattern matches
  if (matcher.matches()) {
    return true;
  } else {
    return false;
  }
}

ここで、isPanCardValid()は静的メソッドであり、ユーザーからのパラメーター(String pan_number)入力として文字列を受け入れ、PanCardパターンと一致し、値をtrueまたはfalseとして返します。

0

適切な形式の検証は、次の正規表現で行う必要があります。

/^[A-Z]{3}[ABCFGHLJPT][A-Z][0-9]{4}[A-Z]$/

他の回答との違いは、これは4番目の文字が特定の値しか取ることができないことを考慮に入れていることです。正規表現全体は、大文字と小文字を区別しないように簡単に変更できます。

一方、このチェックは一般的すぎるため、最後のチェックレターの適切な検証式は、数字または文字のある位置のみをチェックするよりもはるかに優れています。残念ながら、この式は公開されていないようです。

0
bbonev
public static boolean isPanCardValid(String pan_number) {

  Pattern pattern = Pattern.compile("[A-Z]{5}[0-9]{4}[A-Z]{1}");

  Matcher matcher = pattern.matcher(pan_number);
  // Check if pattern matches
  if (matcher.matches()) {
    return true;
  } else {
    return false;
  }
}
0
^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/

これを試して、うまくいくことを願って

0
Nitish Grylls

PANCARD- '/ [A-Z] {5}\d {4} [A-Z] {1}/i'の通常のExp;

angular jsを使用する場合は、以下を使用します

コントローラ

$scope.panCardRegex = '/[A-Z]{5}\d{4}[A-Z]{1}/i';

HTML

<input type="text" ng-model="abc" ng-pattern="panCardRegex" />
0
Ved Prakash

パンカード検証

正規表現:/(^([a-zA-Z] {5})([0-9] {4})([a-zA-Z] {1})$)/

0
ANIL CHINTALA

これをお試しください

$(document).ready(function() {
  $.validator.addMethod("pan", function(value1, element1) {
    var pan_value = value1.toUpperCase();
    var reg = /^[a-zA-Z]{3}[PCHFATBLJG]{1}[a-zA-Z]{1}[0-9]{4}[a-zA-Z]{1}$/;
    var pan = {
      C: "Company",
      P: "Personal",
      H: "Hindu Undivided Family (HUF)",
      F: "Firm",
      A: "Association of Persons (AOP)",
      T: "AOP (Trust)",
      B: "Body of Individuals           (BOI)",
      L: "Local Authority",
      J: "Artificial Juridical Person",
      G: "Govt"
    };
    pan = pan[pan_value[3]];

    if (this.optional(element1)) {
      return true;
    }
    if (pan_value.match(reg)) {
      return true;
    } else {
      return false;
    }

  }, "Please specify a valid PAN Number");

  $('#myform').validate({ // initialize the plugin
    rules: {
      pan: {
        required: true,
        pan: true
      }

    },
    submitHandler: function(form) {
      alert('valid form submitted');
      return false;
    }
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.js"></script>


<form id="myform" action="" method="post">
  <div>
    <label>Pan Number</label>
    <div>
      <input type="text" name="pan" value="" id="input-pan" />
    </div>
  </div>
  <button type="submit">Register</button>
</form>

キープレスイベントをPAN C#でのカード検証に使用できます。

enter code here

private void textBox1_KeyPress(object sender、KeyPressEventArgs e)

    {           
        int sLength = textBox1.SelectionStart;  

        switch (sLength)
        {
            case 0:

            case 1:

            case 2:

            case 3:

            case 4:

                    if (char.IsLetter(e.KeyChar) || Char.IsControl(e.KeyChar))
                    {
                        e.Handled = false;
                    }
                    else
                    {
                        e.Handled = true;
                    }
                    break;

            case 5:

            case 6:

            case 7:

            case 8:
                    if (char.IsNumber(e.KeyChar) || Char.IsControl(e.KeyChar))
                    {
                        e.Handled = false;
                    }
                    else
                    {
                        e.Handled = true;
                    }
                    break;
            case 9:
                    if (char.IsLetter(e.KeyChar) || Char.IsControl(e.KeyChar))
                    {
                        e.Handled = false;
                    }
                    else
                    {
                        if (Char.IsControl(e.KeyChar))
                        {
                            e.Handled = false;
                        }

                        else
                        {
                            e.Handled = true;
                        }
                    }
                    break;
            default:
                    if (Char.IsControl(e.KeyChar))
                    {
                        e.Handled = false;
                    }

                    else
                    {
                        e.Handled = true;
                    }
                    break;
        }
    }
0
Kiran.Bakwad