phone number standards

Sent logo
Sent TeamMar 8, 2026 / phone number standards / Article

Moldova Phone Numbers: +373 Country Code Format & Validation Guide

Complete guide to Moldova phone numbers: +373 country code, E.164 format, validation regex, NDC codes, ANRCETI regulations, and number portability. Essential for developers.

Moldova Phone Numbers: Format, Area Code & Validation Guide

Moldova uses the +373 country code for all international calls and follows the ITU E.164 standard (communication dated April 6, 2016). This comprehensive guide covers Moldova phone number validation, format requirements, regex patterns, National Destination Codes (NDC), ANRCETI regulations, and number portability implementation for developers integrating Moldovan telecommunications.

Common Use Cases: SMS/voice API integration, user registration validation, CRM phone number verification, two-factor authentication (2FA), international call routing, WhatsApp Business integration, and fraud detection systems. Use this guide to validate Moldova phone numbers before API calls, implement correct number formatting, route calls by operator, and comply with ANRCETI telecommunications regulations.

Moldova Phone Number Format and Structure

Moldova follows a "closed" type national numbering plan (approved by ANRCETI via Order No. 15, March 4, 2010, updated February 1, 2023). All Moldova phone numbers consist of 8 digits after the +373 country code. Domestic calls use a "0" prefix followed by the national significant number (NSN). A complete Moldovan phone number consists of the country code (+373), a National Destination Code (NDC) of 2-3 digits, and the subscriber number of 5-6 digits. The NDC indicates the service type (mobile, fixed-line, special service) and sometimes the geographic region.

Number Structure Breakdown:

International: +373 | NDC (2-3 digits) | Subscriber Number (5-6 digits) Domestic: 0 | NDC (2-3 digits) | Subscriber Number (5-6 digits) Example Mobile: +373-69-123456 │ │ └─ Subscriber Number (6 digits) │ └───── NDC (2 digits = mobile) └────────── Country Code
  • Country Code: +373
  • Domestic Prefix: 0 (for calls within Moldova)
  • NDC: 2-3 digits
  • Subscriber Number: 5-6 digits
  • Maximum NSN Length: 8 digits

Format Examples by Number Type:

  • Mobile (Orange): +373 69 123 456 (international) / 0 69 123 456 (domestic)
  • Mobile (Moldcell): +373 78 234 567 (international) / 0 78 234 567 (domestic)
  • Mobile (Unite): +373 67 345 678 (international) / 0 67 345 678 (domestic)
  • Fixed Line (Chisinau): +373 22 123 456 (international) / 0 22 123 456 (domestic)
  • Fixed Line (Bălți): +373 231 12 345 (international) / 0 231 12 345 (domestic)
  • Toll-Free: +373 800 12345 (international) / 0 800 12345 (domestic)
  • Premium Rate: +373 900 12345 (international) / 0 900 12345 (domestic)

Important for International Dialing: Always omit the "0" prefix when you format Moldova phone numbers internationally. The correct international format uses the +373 country code followed by the 8-digit national number (example: +373 69 123456).

NDC Code Allocation by Operator and Service Type

NDC RangeNSN LengthService TypeOperator/RegionStatus
Mobile Services
60, 68, 698Mobile (GSM)Orange MoldovaIn use
610, 611, 620, 6218MobileOrange MoldovaIn use
671-6748Mobile (CDMA)Moldtelecom UniteIn use
675, 676, 6778Mobile (GSM)Moldtelecom UniteIn use
718Mobile (MVNO)Virtual Network OperatorsIn use
760, 7678Mobile (GSM)MoldcellIn use
780-788, 798Mobile (GSM)MoldcellIn use
Geographic (Fixed Line)
228Fixed LineChisinau (capital)In use
2318Fixed LineBălțiIn use
2308Fixed LineSorocaIn use
2358Fixed LineOrheiIn use
2368Fixed LineUngheniIn use
2998Fixed LineCahulIn use
210-219, 230-2998Fixed LineVarious regionsIn use
533, 552, 555, 5578Fixed LineTransnistria regionIn use
Special Services
30, 388NomadicLocation-independentIn use
8008Toll-FreeFreephone servicesIn use
8088Shared CostSplit-cost servicesIn use
900, 905, 9068Premium RatePremium servicesIn use

Source: ITU Moldova National Numbering Plan (April 6, 2016) and ANRCETI (updated February 1, 2023)

Understanding Moldova Special Service Numbers

Moldova uses specific number ranges for special services:

  • Toll-Free (800 XXXXX): Free calls for customer service, hotlines, and public information. Validation Regex: ^800[0-9]{5}$

  • Premium Rate (90[056]XXXXX): Value-added services with higher charges for entertainment, information lines, and voting. Validation Regex: ^90[056][0-9]{5}$

  • Shared Cost (808 XXXXX): Call costs shared between caller and service provider. Validation Regex: ^808[0-9]{5}$

  • Short Codes (1XXX): Access to emergency services, directory inquiries, and harmonized social services.

Complete Short Code Directory

Short CodeServiceDescriptionCost
112EmergencySingle emergency number (fire, police, ambulance)Free
116000Missing ChildrenEmergency hotline for missing children reportsFree
116006Crime VictimsHelpline for victims of crime, psychological supportFree
116111Child HelplineTelephone assistance for children in needFree
116117Medical On-CallNon-emergency medical assistanceStandard rate
116123Emotional SupportCrisis support and suicide preventionFree
118XDirectory InquiryTelephone number lookup and information servicesPremium rate
14XXXGeneral InterestTaxi, transport, medical services (local)Local call rate
1600-1639Access CodesElectronic communications service accessVaries
1010-1099Carrier SelectionSelect alternative service provider for callsStandard rate

Source: ANRCETI National Numbering Plan, Table 2

Pricing Information:

  • Premium Rate (900, 905, 906): Higher than standard national call rates. Revenue is shared between telecom provider and content service provider. Exact rates vary by operator and service type (entertainment, information, adult content).
  • Shared Cost (808): Cost is split between caller and recipient. Caller pays no more than local/national call rate; recipient pays remainder.
  • Toll-Free (800): Free for caller regardless of originating network. The called party (business/organization) pays full cost.

Note: Obtain specific pricing from individual operators (Orange Moldova, Moldcell, Moldtelecom) as rates are commercially determined and may change.

Best Practice: Consult the latest allocation rules from the National Regulatory Agency for Electronic Communications and Information Technology (ANRCETI) for compliance. Last major update: February 1, 2023.

How Number Portability Works in Moldova

Moldova launched number portability on July 1, 2013, with the first ported number activated on July 4, 2013. Switch providers while keeping your existing number. Key features:

  • Carrier-Neutral Portability: Port numbers between any providers.
  • Zero-Cost Transfers: Free porting for all users in Moldova.
  • Processing Time: Completes within 5 working days.
  • High Success Rate: 28,595 portings registered in 2013 alone.

The portare.md platform manages number portability requests and status tracking through ANRCETI's Centralized Database (CDB). Since implementation (July 2013), over 91,000 numbers have been ported, with 7,500+ numbers porting monthly as of 2022.

Developer Implications:

  • NDC-Based Carrier Detection Is Unreliable: You cannot determine the current carrier from the NDC alone because users can port numbers between operators. A number starting with 69 (originally Orange) may now belong to Moldcell or Moldtelecom.
  • Validation Strategy: Validate number format and structure only. Never make business logic decisions based on NDC-to-operator mapping.
  • Carrier Lookup: Use HLR (Home Location Register) lookup APIs or number portability databases to determine the current operator for routing or billing.
  • Call Routing: Implement dynamic routing that queries the CDB for current operator assignment instead of static NDC tables.
  • User Experience: Let users manually select their operator during registration if you need carrier-specific features.

Portability Validation Considerations:

  1. Format validation remains the same: All ported numbers retain their original format and NDC structure.
  2. Historical data: Numbers may have different operators in your historical records versus current state.
  3. Testing: Test with both ported and non-ported numbers to verify your validation logic works correctly.
  4. Status checking: The portare.md platform plays a characteristic sound signal when calling ported numbers.

Moldova Regulatory Framework and Market

ANRCETI regulates electronic communications and information technology in Moldova:

  • Numbering Resource Management: Allocates and manages number blocks with international standards compliance.
  • Market Regulation: Promotes competition, protects consumer rights, and enforces regulations.
  • Licensing and Authorization: Issues licenses for telecommunications services and manages spectrum allocation.

Moldova's telecommunications market has grown significantly. As of end-2023, 5.184 million mobile subscribers represent a 168.5% mobile penetration rate. Market leaders:

  • Orange Moldova: Largest operator with 36.7% market share (2024), focusing on innovation and 5G coverage
  • Moldcell: Second-largest with 28% market share, owned by Nepalese CG Corp Global. First to launch 5G NSA public test on April 23, 2024
  • Moldtelecom: State-owned incumbent with third-largest share and extensive infrastructure. Rebranded Unité mobile services under Moldtelecom in 2021

Moldova Mobile Operator Comparison

OperatorMarket Share (2024)NDC RangesTechnologyContact Information
Orange Moldova36.7% (largest)60, 68, 69, 610, 611, 620, 621GSM, UMTS, LTE, 5Gwww.orange.md
Moldcell28% (second)760, 767, 780-788, 79GSM, UMTS, LTE, 5G NSAwww.moldcell.md
MoldtelecomThird-largest671-677CDMA, GSM, UMTS, LTE, 5Gwww.moldtelecom.md

Market data source: Industry reports 2024; NDC ranges from ITU/ANRCETI official documentation

Key Operator Notes:

  • Orange Moldova: Launched October 1998 as Voxtel, rebranded to Orange. First to market with many innovations.
  • Moldcell: Owned by Nepalese CG Corp Global. First to launch 5G NSA public test (April 23, 2024).
  • Moldtelecom: State-owned incumbent. Rebranded Unité mobile services under Moldtelecom brand in 2021.

5G Deployment: In late 2024, ANRCETI awarded spectrum licenses in the 700 MHz, 900 MHz, 1500 MHz, and 3600 MHz bands to Moldcell, Orange Moldova, and Moldtelecom (valid until March 2050).

Understanding Golden Numbers

ANRCETI manages a "Golden Numbers" program for premium numbers with desirable patterns (repeating digits, sequential numbers, palindromes). Acquire these numbers through:

  • Public Auctions: ANRCETI conducts periodic auctions for golden numbers. Winning bids grant exclusive use rights.
  • Direct Allocation: VIP clients and businesses can request direct allocation for specific number patterns.
  • Pricing: Costs range from hundreds to thousands of euros depending on pattern desirability. Sequential numbers (e.g., +373 69 123456) command premium prices, while simple repeating digits (e.g., +373 69 777777) are most expensive.

Validation Considerations: Golden numbers follow the same format validation rules as standard numbers. Verify golden number ownership through official ANRCETI documentation if accepting them for business-critical applications.

How to Validate Moldova Phone Numbers: JavaScript Regex Examples

JavaScript Validation Compatibility: ES6+ (ECMAScript 2015+), Node.js 4.0+, React, Vue, Angular, and all modern browsers (Chrome 51+, Firefox 54+, Safari 10+, Edge 15+)

Validate Moldova phone numbers using these JavaScript regex patterns and validation functions:

javascript
function validateMoldovanNumber(number, type) {
    // Remove any non-digit characters
    const cleanedNumber = number.replace(/\D/g, '');

    const patterns = {
        general: /^373[235-9]\d{7}$/, // General Moldovan number format
        tollFree: /^373800\d{5}$/,
        premiumRate: /^37390[056]\d{5}$/,
        sharedCost: /^373808\d{5}$/,
        mobile: /^373[67]\d{7}$/
    };

    if (type && patterns[type]) {
        return patterns[type].test(cleanedNumber);
    }

    return patterns.general.test(cleanedNumber); // Default to general validation
}


// Example usage:
console.log(validateMoldovanNumber('+373 69 123 456', 'mobile')); // true
console.log(validateMoldovanNumber('37380012345', 'tollFree')); // true
console.log(validateMoldovanNumber('37322123456')); // true (general validation)
console.log(validateMoldovanNumber('+1-555-123-4567')); // false
console.log(validateMoldovanNumber('')); // false (empty input)
console.log(validateMoldovanNumber(null)); // false (null input)

Enhanced Version with Error Handling and Security:

javascript
function validateMoldovanNumberSecure(number, type = 'general') {
    // Input validation and sanitization
    if (!number || typeof number !== 'string') {
        return { valid: false, error: 'Input must be a non-empty string' };
    }

    // Prevent ReDoS attacks - limit input length
    if (number.length > 50) {
        return { valid: false, error: 'Input exceeds maximum length' };
    }

    // Remove only safe whitespace and formatting characters
    const cleanedNumber = number.replace(/[\s\-\(\)\+]/g, '');

    // Security: ensure only digits remain after cleaning
    if (!/^\d+$/.test(cleanedNumber)) {
        return { valid: false, error: 'Input contains invalid characters' };
    }

    // Check for valid length after cleaning
    if (cleanedNumber.length < 11 || cleanedNumber.length > 12) {
        return { valid: false, error: 'Invalid number length' };
    }

    const patterns = {
        general: /^373[235-9]\d{7}$/,
        tollFree: /^373800\d{5}$/,
        premiumRate: /^37390[056]\d{5}$/,
        sharedCost: /^373808\d{5}$/,
        mobile: /^373[67]\d{7}$/,
        fixedLine: /^373(2[2-9]|[35]\d{2})\d{5,6}$/
    };

    // Validate type parameter
    if (type && !patterns[type]) {
        return { valid: false, error: 'Invalid validation type specified' };
    }

    const pattern = patterns[type] || patterns.general;
    const isValid = pattern.test(cleanedNumber);

    return {
        valid: isValid,
        cleaned: cleanedNumber,
        formatted: isValid ? `+${cleanedNumber.slice(0, 3)} ${cleanedNumber.slice(3, 5)} ${cleanedNumber.slice(5)}` : null,
        type: type
    };
}

// Example usage with error handling:
const result = validateMoldovanNumberSecure('+373 69 123 456', 'mobile');
if (result.valid) {
    console.log('Valid number:', result.formatted);
} else {
    console.error('Validation error:', result.error);
}

Security Best Practices Applied:

  1. Input Type Checking: Validates input is a string before processing
  2. Length Limiting: Prevents ReDoS (Regular Expression Denial of Service) attacks by limiting input length
  3. Character Whitelisting: Only allows digits after removing safe formatting characters
  4. Safe Character Removal: Only removes known-safe characters (spaces, hyphens, parentheses, plus sign)
  5. No Code Execution: Never uses eval() or Function() with user input
  6. Detailed Error Responses: Returns structured error information for debugging
  7. Type Validation: Validates the type parameter to prevent unexpected pattern access

Key Considerations:

  • Fraud Prevention: ANRCETI reported a 60% increase in fraudulent calls in 2022 (from 1.4M in 2021 to 2.2M in 2022). Implement these fraud detection measures:

    • Rate Limiting: Limit verification SMS/calls per phone number (e.g., max 3 per hour, 10 per day).
    • Geographic Validation: Flag mismatches between user's claimed location and phone number country code.
    • Velocity Checks: Monitor for rapid-fire registration attempts from similar numbers.
    • Known Fraud Patterns: Block or flag premium-rate numbers (90X ranges) for user registrations.
    • Number Age Verification: Recently allocated numbers may indicate fraud; check number age via HLR lookup.
    • Behavioral Analysis: Monitor for suspicious patterns (multiple accounts, unusual call patterns).
    • Blacklist Integration: Maintain and check against known fraudulent number databases.
  • Data Accuracy: Verify number ownership via SMS verification codes or voice calls before relying on phone numbers for critical functionalities (account recovery, 2FA, financial transactions).

  • Compliance: Stay updated on ANRCETI regulations and guidelines for ongoing compliance. Last major numbering plan update: February 1, 2023. Monitor ANRCETI announcements for changes to numbering allocations, fraud warnings, and regulatory requirements.

  • Privacy & GDPR: Moldova is an EU candidate country. Ensure phone number collection, storage, and processing complies with data protection regulations. Obtain explicit consent, implement data minimization, and provide opt-out mechanisms.

Frequently Asked Questions About Moldova Phone Numbers

What is Moldova's country code for international calls?

Moldova uses country code +373. All Moldova phone numbers start with +373 followed by the National Destination Code (2-3 digits) and subscriber number (5-6 digits). The maximum national significant number (NSN) length is 8 digits.

What is the phone number format for Moldova?

Moldova phone numbers follow E.164 format. International format: +373 [NDC] [subscriber number]. Domestic format: 0 [NDC] [subscriber number]. Example: +373 69 123 456 (international) or 0 69 123 456 (domestic).

How do I validate Moldova mobile phone numbers with regex?

Use regex pattern ^373[67]\d{7}$ for Moldova mobile numbers. Mobile services use NDC codes 6X and 7X. Remove all non-digit characters before validation and ensure the cleaned number starts with 373.

What are Moldova's special service number ranges?

Moldova special services: Toll-free (800 XXXXX), Premium rate (90[056]XXXXX), Shared cost (808 XXXXX), Short codes (1XXX including emergency 112). Each has specific validation regex patterns for accurate identification.

How long does number portability take in Moldova?

Number portability in Moldova completes within 5 working days after you apply with your chosen provider. The service launched on July 1, 2013, and is free for all users through the portare.md platform.

What is ANRCETI in Moldova telecommunications?

ANRCETI (National Regulatory Agency for Electronic Communications and Information Technology) is Moldova's telecommunications regulator. It manages numbering resources, issues licenses, enforces regulations, and oversees the portare.md number portability system.

Which mobile operators serve Moldova?

Moldova has three main mobile operators: Orange Moldova (36.7% market share), Moldcell (28% market share), and Moldtelecom (state-owned). All three launched 5G services in 2024 with spectrum licenses valid until March 2050.

What is the domestic dialing prefix for Moldova?

Moldova uses "0" as the domestic prefix for calls within the country. This is part of Moldova's "closed" numbering plan. Omit the "0" prefix when you format numbers internationally – use +373 instead.

How do I handle validation errors for Moldova numbers?

Common validation errors and solutions:

  • Error: "Invalid number length" – Ensure the cleaned number has exactly 11 digits (373 + 8-digit NSN). Remove all formatting characters before validation.
  • Error: "Invalid NDC" – Check the first digit after 373. Valid NDC ranges start with 2, 3, 5, 6, 7, 8, or 9.
  • Error: "Input contains invalid characters" – Remove all non-digit characters except +, spaces, hyphens, and parentheses before validation.
  • Error: "Number not found" – The number may be recently ported. Use HLR lookup APIs to verify current carrier assignment.

What are the best practices for API integration?

Follow these best practices when integrating Moldova numbers:

  1. Normalize input: Convert all numbers to E.164 format (+373XXXXXXXX) before processing.
  2. Validate early: Check number format before making API calls to prevent errors and reduce costs.
  3. Handle portability: Never assume NDC indicates current carrier. Use dynamic carrier lookup for routing.
  4. Implement retry logic: Handle temporary API failures with exponential backoff (1s, 2s, 4s delays).
  5. Cache results: Cache HLR lookup results for 24-48 hours to reduce API calls and costs.
  6. Log everything: Record all validation attempts, API responses, and errors for debugging and fraud detection.
  7. Test thoroughly: Test with valid/invalid numbers, ported numbers, and edge cases (toll-free, premium rate).

Conclusion

Integrate Moldova's phone numbering system into your applications by following these validation patterns and regulatory requirements:

Quick Start Checklist:

  1. ✓ Validate numbers using the E.164 format: +373 [NDC] [subscriber number]
  2. ✓ Use the provided JavaScript validation functions (basic or secure version)
  3. ✓ Implement fraud prevention measures (rate limiting, geographic validation, velocity checks)
  4. ✓ Handle number portability with dynamic carrier lookup instead of static NDC mapping
  5. ✓ Stay updated on ANRCETI regulations at en.anrceti.md/node/81
  6. ✓ Test with both ported and non-ported numbers across all operators

Quick Reference:

  • Country Code: +373
  • NSN Length: 8 digits (NDC + subscriber number)
  • Mobile NDC Ranges: 6X, 7X (Orange, Moldcell, Moldtelecom)
  • Fixed Line NDC Ranges: 2X, 3X, 5XX (geographic regions)
  • Toll-Free: 800 XXXXX
  • Premium Rate: 90[056] XXXXX
  • Emergency: 112
  • Portability Platform: portare.md
  • Regulatory Authority: ANRCETI

Consult the official ANRCETI documentation for the most current information and regulations.

Additional Phone Number Validation Resources