taiwan-id-validator
Version:
中華民國統一編號、外籍人士居留證統一編號、身分證字號驗證規則、電子發票號碼等規則驗證
82 lines (81 loc) • 4.14 kB
TypeScript
/**
* Verify the input is a valid GUI Number (中華民國統一編號)
*
* @param { string | number } input GUI Number
* @param { boolean } extended check input using extended format: https://www.fia.gov.tw/singlehtml/6?cntId=aaa97a9dcf2649d5bdd317f554e24f75
* @returns { boolean } is `input` a valid GUI number
*/
export declare function isGuiNumberValid(input: string | number, extended?: boolean): boolean;
/**
* Verify the input is a valid National identification number (中華民國身分證字號)
*
* @param { string } input National identification number
* @returns { boolean } is `input` a valid national ID number
*/
export declare function isNationalIdentificationNumberValid(input: string): boolean;
/**
* Verify the input is a valid resident certificate number (臺灣地區無戶籍國民、外國人、大陸地區人民及香港或澳門居民之專屬代號)
*
* @param { string } input resident certificate number
* @returns { boolean } is `input` a valid resident certificate number
*/
export declare function isResidentCertificateNumberValid(input: string): boolean;
/**
* Verify the input is a valid new resident certificate number (臺灣地區無戶籍國民、外國人、大陸地區人民及香港或澳門居民之專屬代號)
*
* @param { string } input resident certificate number
* @returns { boolean } is `input` a valid new resident certificate number
*/
export declare function isNewResidentCertificateNumberValid(input: string): boolean;
/**
* Verify the input is a original valid resident certificate number (臺灣地區無戶籍國民、外國人、大陸地區人民及香港或澳門居民之專屬代號)
*
* @param { string } input resident certificate number
* @returns { boolean } is `input` a valid original resident certificate number
*/
export declare function isOriginalResidentCertificateNumberValid(input: string): boolean;
/**
* Verify the input is a valid citizen digital certificate number (自然人憑證)
*
* @param { string } input citizen digital certificate number
* @returns { boolean } is `input` a valid citizen digital certificate number
*/
export declare function isCitizenDigitalCertificateNumberValid(input: string): boolean;
/**
* Verify the input is a valid E-Invoice cell phone barcode (電子發票手機條碼)
*
* @param { string } input E-Invoice cell phone barcode
* @returns { boolean } is `input` a valid e-invoice cell phone barcode
*/
export declare function isEInvoiceCellPhoneBarcodeValid(input: string): boolean;
/**
* Verify the input is a valid E-Invoice donate code (電子發票捐贈碼)
*
* @param { string | number } input E-Invoice donate code
* @returns { boolean } is `input` a valid e-invoice donate code
*/
export declare function isEInvoiceDonateCodeValid(input: string | number): boolean;
export type CreditCardValidationOptions = {
/**
* validate `input` with regex
* (Warning! Card issuers might introduce new card number patterns. Use this in production might cause unexpected results.)
*/
checkIssuerRegexes?: boolean;
};
/**
* Verify the input is a valid credit card number (信用卡卡號)
*
* @param { string | number } input credit card number
* @param { CreditCardValidationOptions } creditCardValidationOptions credit card validation options
* @returns { boolean } is `input` a valid credit card number
*/
export declare function isCreditCardNumberValid(input: string, options?: CreditCardValidationOptions): boolean;
export declare const isGUI: typeof isGuiNumberValid;
export declare const isNI: typeof isNationalIdentificationNumberValid;
export declare const isRC: typeof isResidentCertificateNumberValid;
export declare const isNewRC: typeof isNewResidentCertificateNumberValid;
export declare const isOriginalRC: typeof isOriginalResidentCertificateNumberValid;
export declare const isCDC: typeof isCitizenDigitalCertificateNumberValid;
export declare const isCellPhoneBarcode: typeof isEInvoiceCellPhoneBarcodeValid;
export declare const isDonateCode: typeof isEInvoiceDonateCodeValid;
export declare const isCreditCard: typeof isCreditCardNumberValid;