javascript和php中的pancard结构验证

sat*_*wan 6 javascript php

我想只在javascript中进行pancard验证.

它仅限于印度.

印度的pancard结构如下:例如:AAAAA9999A

  • 前五个字符是字母(AZ),
  • 接下来4个数字(0-9),
  • 最后一个字母(AZ)

每个被推荐者由PAN唯一标识如果PAN不遵循上述结构,则PAN将被显示为无效

PAN的第四个字符必须是以下之一,具体取决于assessee的类型:

  • C - 公司
  • P - 人
  • H - 印度教徒不分家庭(HUF)
  • F - 坚定
  • A - 人员协会(AOP)
  • T - AOP(信托)
  • B - 个人团体(BOI)
  • L - 地方当局
  • J - 人工法人
  • G - 政府

PAN的第五个字符是PAN所属人的姓氏中的第一个字符.

所以我想检查前五个字母是字母,然后是四个字母数字,最后一个是字母.

所以我创建javascript如下.

var panVal = $('#panNumber').val);
 var regpan = /^([a-zA-Z])([0-9])([a-zA-Z])?$/;
if(regpan.test(panVal)){
   // valid pan card number
}else // invalid pan card number
Run Code Online (Sandbox Code Playgroud)

但它不适合我.

帮助更让我感激.

预先感谢.

Aru*_*run 17

您的代码中存在逻辑错误.请尝试以下代码:

var panVal = $('#panNumber').val();
var regpan = /^([a-zA-Z]){5}([0-9]){4}([a-zA-Z]){1}?$/;

if(regpan.test(panVal)){
   // valid pan card number
} else {
   // invalid pan card number
}
Run Code Online (Sandbox Code Playgroud)

您必须限制字符在给定字符串中必须出现的次数.

说明

  1. ([a-zA-Z]){5} - >字母数字应为5.

  2. ([0-9]){4} - >数字应为4.

  3. ([a-zA-Z]){1} - >字母数字应为1.


Ume*_*til 6

好吧,使用 HTML 5,您不必编写任何 javascript 来添加验证,至少对于此 PAN 验证,请使用下面的输入标记,

<input type="text" id="pan_no" name="pan_no" placeholder="PAN No." maxlength="10" pattern="[a-zA-Z]{5}[0-9]{4}[a-zA-Z]{1}" title="Please enter valid PAN number. E.g. AAAAA9999A" required/>
Run Code Online (Sandbox Code Playgroud)

享受!!


小智 5

试试这个代码,它还可以告诉@RJParikh 询问的卡类型

function pan(txt)
{
	txt = txt.toUpperCase();
	var regex = /[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[txt[3]];
	if(regex.test(txt))
	{
    if(pan!="undefined")
      alert(pan+" card detected");
    else
	  alert("Unknown card");
    }
    else
	  alert("Unknown card");
}
Run Code Online (Sandbox Code Playgroud)
<input id="pan">
<button onclick="pan(document.getElementById('pan').value)">search</button>
Run Code Online (Sandbox Code Playgroud)

希望它运作良好...:)