Launching a SaaS?·Collect waitlist signups before you build — before.run
SandboxPatternsDetectDocsChangelog
Identity
en-IN
#pan
#india
#indian
#tax

Indian PAN Card

Matches an Indian Permanent Account Number (PAN) — 10 characters: 5 uppercase letters, 4 digits, 1 uppercase letter.

Indian tax formsKYC for Indian usersBanking integrations
/
/
Safe
Test String
2 matches
[…]{5}Character class […]Matches any single character listed in this set — repeated exactly 5 times · {5} — exactly 5 times
A-ZA-ZA-Z — range from 'A' to 'Z'
\d{4}digit\d — digit (0–9) — repeated exactly 4 times · {4} — exactly 4 times
[…]Character class […]Matches any single character listed in this set
A-ZA-ZA-Z — range from 'A' to 'Z'
Pattern: 18 charsInput: 21 chars
100% client-side · private

Valid Examples

  • ABCDE1234F
  • PXPZJ1234A

Invalid Examples

  • ABCDE12345
  • abcde1234f
  • ABCD1234F

Usage & Integration

Validate Indian PAN Card natively in your backend or frontend without copying regex strings.

Node / Edge

import { validate } from '@regexto/validators';

validate('in-pan', '...');

Python

from regexto_validators import validate

validate("in-pan", "...")

Go

import "github.com/regex-to/validators-go"

valid, err := validators.Validate("in-pan", "...")

PHP

use RegexTo\Validators\Validator;

Validator::validate('in-pan', '...');

Rust

use regexto_validators::validate;

let is_valid = validate("in-pan", "...").unwrap();