2013-06-09 3 views
0

미국 내 납세자는 어떤 종류의 세금 식별 번호가 있어야합니다.SSN과 EIN간에 US TIN을 구별하는 알고리즘

은 (그들이 추방하지 않고 과세 할 수 있도록, 외국인에 대한)

또는 기업

당신은 위키 피 디아에 해당 링크를 따라 가면위한 Employer Identification Number, 그것은이다 Social Security Number, 또는 Individual Taxpayer Identification Number 수 중 하나를 수행해야합니다 이 숫자에는 상당한 규모의 구조가 있음을 (또는 사회 보장 번호의 경우) 간단하게 볼 수 있습니다. 너무 많이 할 수 있도록 often guess a social if you have region and birthdate. 이러한 패턴을 활용하는 SSN을 생성하고 유효성을 검사하는 PHP librarysnippets이 있습니다.

SSN과 EIN으로 가득 찬 데이터베이스가 있다면 SSN EIN과 ITIN을 구분하고 유효성을 검사 할 수있는 기존 알고리즘이 있습니까? 나는 여기에 간단한 정규 표현식을 좋아하지만 너무 희망적 일 수있다.

신뢰성이있는 회사가 있지만 공용 구현을 찾지 못했습니다. 유효성 검사 프로세스에서 얼마나 신뢰할 수 있는지 보여줄 데이터가 훨씬 적습니다.

답변

2

PHP library for SSNs이 있었지만 업데이트 된 마지막 시간은 2013입니다. 더 이상 사용되지 않는 에 크게 의존합니다. 이제 SSNs are randomized입니다.

SSN, ITIN 및 EIN을 처리하는 라이브러리를 알지 못합니다. SSN의 유효성 검사의 복잡성에 대한 정보는 this Django field for SSNs에 문의하십시오. 복잡성 중 일부는 수년간 SSN abuse에서 비롯되었으므로 특정 숫자가 유효하지 않게되어 정규식이 매우 어려워지고 간단한 정규식은 불가능합니다.

ITINs must start with 9 그러나 2013 년 IRS는 유효 범위를 변경했습니다. 그렇지 않으면 SSN처럼 보입니다.

EIN과 SSN에는 두 가지 차이점 만 있습니다. 첫째, EIN은 그룹화 된 xx-xxxxxxx이고 SSN은 xxx-xx-xxxx입니다. 두 번째는 valid prefixes for EINs의 목록이 있으므로 유효하지 않은 접두어가없는 EIN이 제시되면 유효하지 않다고 판단 할 수 있습니다. EIN은 이전보다 지리적 이었지만 중앙 집중화되어 지리적 인 의미를 없앴습니다. 궁극적으로 EIN과 SSN을 구별 할 수있는 유일한 방법은 대시로 형식을 지정해야하며 접두어의 유효성을 검사하는 것입니다.

+0

누군가가 대답했습니다. 고맙습니다! – ftrotter