A lightweight TypeScript/JavaScript library to validate Bangladeshi phone numbers — supporting mobile, BTCL landlines, and IP telephony numbers.
- Detects phone number type:
mobile
,btcl
,ip
, orunknown
- Identifies mobile operator, BTCL zone, or IP provider
- Normalizes phone number to standard format (without country code)
- Supports both Node.js and browser (via CDN)
- ESM, CommonJS, and UMD builds
- Fully typed (TypeScript support)
npm install validate-phone-bd
const { validatePhoneBD } = require('validate-phone-bd');
const result = validatePhoneBD('+8801712345678');
console.log(result);
import { validatePhoneBD } from 'validate-phone-bd';
const result = validatePhoneBD('01712345678');
console.log(result);
<!-- Include it from CDN -->
<script src="https://cdn.jsdelivr.net/npm/validate-phone-bd/dist/validate-phone-bd.umd.min.js"></script>
<!-- Use for validation -->
<script>
const result = ValidatePhoneBD.validatePhoneBD('09611234567');
console.log(result);
</script>
{
"isValid": true,
"type": "mobile",
"normalized": "01712345678",
"operatorOrZone": "Grameenphone"
}
-
input
(string): A phone number to validate. Can include country code (+880
or880
), or start with0
.
An object with the following structure:
Property | Type | Description |
---|---|---|
isValid |
boolean | Whether the number is a valid Bangladeshi phone number |
type |
string | One of: 'mobile' , 'btcl' , 'ip' , or 'unknown'
|
normalized |
string | Normalized number in local format (starts with 0 ) |
operatorOrZone |
string | Name of mobile operator, BTCL zone, or IP phone provider |
validatePhoneBD('8809612345678');
/*
{
isValid: true,
type: 'ip',
normalized: '09612345678',
operatorOrZone: 'IP Telephone Provider'
}
*/
MIT
Aumit