Подтвердить что ты не робот

Как проверить PAN карту?

Как проверить правильность текста редактирования для панорамирования, например "ABCDE1234F". Я запутался, как проверить валидацию для этого. Пожалуйста, помогите мне, ребята. Я буду признателен за любую помощь.

4b9b3361

Ответ 1

Вы можете использовать регулярное выражение с соответствием шаблону

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

Вы можете проверить regex @

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

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

Ответ 2

@Рагхунандан прав. Вы можете использовать регулярное выражение. Если вы видите запись wiki для Permanent_account_number (Индия), вы получите значение для формирования номера карты 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.

`

Надеюсь, это поможет.

Ответ 3

Это идеальный номер PAN RegEx: :

String panNumber = "AAAPL1234C"; // get your editext value here
Pattern pattern = Pattern.compile("[A-Z]{3}[ABCFGHLJPTF]{1}[A-Z]{1}[0-9]{4}[A-Z]{1}");

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

Существует несколько условий для номера PAN: :

PAN (или номер PAN) представляет собой буквенно-цифровой уникальный идентификатор длиной в десять символов.

Структура PAN выглядит следующим образом: AAAPL1234C:

Первые пять символов - это буквы (по умолчанию в верхнем регистре), за которыми следуют четыре цифры, а последний (десятый) символ - это буква. Первые три символа кода представляют собой три буквы, образующие последовательность букв алфавита от AAA до ZZZ

четвертый символ обозначает тип держателя карты. Каждый тип держателя однозначно определяется буквой из списка ниже:

  • A - Ассоциация лиц (АОП)
  • B - Тело лиц (BOI)
  • C - Компания
  • F - Фирма
  • G - Правительство
  • H - HUF (неразделенная индуистская семья)
  • L - Местная власть
  • J - Искусственное юридическое лицо
  • P - Индивидуальный (владелец)
  • Т - Траст (АОП)
  • F - ТОО (товарищество с ограниченной ответственностью)

Пятый символ PAN является первым из символов:

  • фамилии или имени человека, в случае "персональной" PAN-карты, где четвертый символ - "P" или
  • названия организации, траста, общества или организации в случае компании /HUF/фирмы/AOP/траста /BOI/локального органа власти/искусственного судебного лица/правительства, где четвертый символ - "C", "H", "F", "A", "T", "B", "L", "J", "G". Последний (десятый) символ - это буквенная цифра, используемая в качестве контрольной суммы для проверки

Ответ 4

проверка карточной карты

regex:/(^ ([a-zA-Z] {5}) ([0-9] {4}) ([a-zA-Z] {1}) $)/

Ответ 5

Вы можете использовать событие нажатия клавиши для проверки карты PAN в С#

enter code here

private void textBox1_KeyPress (отправитель объекта, 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;
        }
    }

Ответ 6

^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/

Попробуйте Это, надеюсь, будет работать

Ответ 7

Regular Exp of PANCARD- '/[A-Z] {5}\d {4} [A-Z] {1}/i';

используйте, если вы используете angular js

контроллер

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

HTML

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

Ответ 8

Проверка правильного формата должна выполняться с помощью этого регулярного выражения:

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

Отличие от других ответов заключается в том, что это учитывает, что четвертая буква может принимать только определенные значения. Все регулярное выражение можно легко изменить без учета регистра.

С другой стороны, эта проверка является слишком общей, и правильная формула проверки для последней контрольной буквы будет намного лучше, чем проверка того, какая позиция имеет цифру или букву. Увы, эта формула кажется не публичной.

Ответ 9

Попробуй это

$(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>

Ответ 10

Привет для проверки карты пан вам нужно выполнить два шага процесса в вашем проекте.

1.) создайте форму и получите номер карты пользователя

2.) загрузить изображение пан-карты пользователя

После завершения обоих шагов сделайте логику в бэкэнде для проверки. Для этого вы можете следовать ниже учебник:

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

Ответ 11

В соответствии с Законом о подоходном налоге руководящие принципы для карты PAN следующие:

Формат для пан-карты: например, ABCDE0123F

Карта PAN подоходного налога выдается в соответствии с разделом 139A Закона о подоходном налоге. Структура PAN выглядит следующим образом: AAAPL1234C: пять (5) первых символов - это буквы, за которыми следуют четыре (4) цифры, а последний (10-й) символ - это буква. Четвертый (4-й) символ сообщает о держателе карты.

Для получения дополнительной информации о карте Pan: 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;
  }
}

Ответ 12

Обратите внимание, что ни один из других доступных ответов до сих пор не проверяет контрольную цифру PAN.

Вот Лунь алгорифм из http://rosettacode.org/wiki/Luhn_test_of_credit_card_numbers#Java:

public static boolean luhnTest(String number){
    int s1 = 0, s2 = 0;
    String reverse = new StringBuffer(number).reverse().toString();
    for(int i = 0 ;i < reverse.length();i++){
        int digit = Character.digit(reverse.charAt(i), 10);
        if(i % 2 == 0){//this is for odd digits, they are 1-indexed in the algorithm
            s1 += digit;
        }else{//add 2 * digit for 0-4, add 2 * digit - 9 for 5-9
            s2 += 2 * digit;
            if(digit >= 5){
                s2 -= 9;
            }
        }
    }
    return (s1 + s2) % 10 == 0;
}

Ответ 13

Очень просто, используя простую концепцию.

long l = System.currentTimeMillis();

String s = l + "";
String s2 = "";

System.out.println(s.length());

for (int i = s.length() - 1; i > 8; i--) {
    s2+=s.charAt(i);
} 

String pancardNo = "AVIPJ" + s2 + "K";
System.out.println(pancardNo);

Используйте этот уникальный панкар для тестирования.