phone number standards
phone number standards
Israel Phone Numbers: Format, Area Code & Validation Guide
Master Israeli phone number formats, validation, and area codes. Complete developer guide with code examples for handling Israel's +972 country code, mobile prefixes (050-059), landline area codes, and E.164 formatting.
Israel Phone Numbers: Format, Area Code & Validation Guide
Learn Israeli phone number formats, area codes, and validation procedures. This guide equips developers with the knowledge to build applications for Israeli users, validate phone number input, and handle Israel's +972 country code correctly.
What is Israel's Phone Number Format?
Israel operates a modern telecommunications infrastructure that blends traditional landlines with mobile technology. The network supports fixed-line telephony, mobile communications, VoIP (Voice over Internet Protocol), and specialized business lines.
Regulatory Authority: The Ministry of Communications oversees telecommunications regulation, manages number allocation, licensing, and policy.
Data Protection & Privacy: Organizations processing Israeli phone numbers must comply with:
- Israeli Privacy Protection Law (1981) – governs personal data handling, including phone numbers
- GDPR compliance – international companies must assess applicability for EU residents in Israel
- Consent requirements – obtain consent before storing and processing phone numbers
- Security measures – implement appropriate safeguards for stored phone data
- User rights – maintain processing records and respect access, deletion, and correction rights
Understanding Israeli phone number structure is essential for developers integrating telephony features or working with Israeli user data.
Israel Phone Number Structure and Format
Israel uses a closed numbering plan – all domestic calls require a national prefix. An Israeli phone number consists of:
- Country Code: +972 (for international calls to Israel)
- National Prefix: 0 (required for all domestic calls within Israel)
- Area/City Code: 1–2 digits (indicates geographic region or service type)
- Subscriber Number: 7–8 digits (unique identifier for the line)
E.164 Format: The international E.164 standard defines phone number formatting globally. For Israeli numbers, use: +972XXXXXXXXX (no spaces, hyphens, or leading zero after country code). Store phone numbers in E.164 format for databases and APIs to ensure international interoperability. Learn more about E.164 phone number formatting.
Format Comparison:
| Format Type | Example | Use Case |
|---|---|---|
| Domestic | 02-1234567 | Local display, within Israel |
| E.164 | +97221234567 | Database storage, APIs |
| International | +972-2-1234567 | Human-readable international display |
| National | 021234567 | Internal processing (no formatting) |
How Do Israel Landline Numbers Work?
Landline numbers in Israel are geographically based, with area codes corresponding to specific regions. The format is 0X-XXXXXXX, where X represents the area code and the following seven digits are the subscriber number.
Area Code Breakdown:
Geographic Landline Codes:
- 02: Jerusalem and surrounding areas
- 03: Tel Aviv Metropolitan Area (Greater Tel Aviv)
- 04: Haifa and Northern Region (Galilee, Golan Heights)
- 08: Southern Region (Beer Sheva, Negev, Eilat)
- 09: Sharon and Coastal Plain (Netanya, Herzliya, Kfar Saba)
Non-Geographic Service Codes:
- 072, 073, 076, 077, 079: VoIP and internet telephony services
- 074, 078: Additional VoIP/specialized services
Example: 02-1234567 (Jerusalem landline)
Best Practice: Store and present landline numbers with the area code, even for local calls within the same region.
Israel Mobile Phone Number Format (050-059)
Identify mobile numbers by their 05X prefix, where X is a digit representing the mobile carrier. The format is 05X-XXXXXXX.
Mobile Prefixes and Carriers:
| Carrier | Prefixes | Example |
|---|---|---|
| Partner | 050, 054 | 050-1234567 |
| Cellcom | 052, 053 | 052-1234567 |
| Pelephone | 054, 055 | 054-1234567 |
| HOT Mobile | 058 | 058-1234567 |
| Golan Telecom | 058 | 058-1234567 |
| MVNOs | Various | Use carrier prefixes |
Important Notes:
- Prefix 058 is shared among multiple carriers (HOT Mobile, Golan Telecom, and MVNOs)
- Prefix 054 is shared between Partner and Pelephone
- MVNO operators (Mobile Virtual Network Operators) use their host carrier's prefixes
- Prefixes 050-059 are allocated for mobile services
Mobile Dialing Rules:
- Landline to Mobile: Dial
0+ full mobile number (e.g.,050-1234567) - Mobile to Mobile: Dial the full 10-digit number (e.g.,
050-1234567) - International to Mobile: Dial
+972+ mobile number without the leading 0 (e.g.,+972-50-1234567)
Best Practice: Maintain the hyphen after the prefix for readability and consistency.
Number Portability: Israel implemented mobile number portability in 2012, allowing users to switch carriers while keeping their phone number.
Key Implications:
- The mobile prefix (050, 052, etc.) no longer reliably indicates the current carrier
- Porting completes within 3–7 business days
- Users can port both mobile and landline numbers
- Use dedicated lookup APIs for carrier identification instead of prefix matching
- Don't assume carrier based on prefix in validation logic
Special Number Categories
- Emergency Services: Short codes consistent across all networks:
- 100 – Police
- 101 – Ambulance (Magen David Adom)
- 102 – Fire Department
- 103 – Electric Company emergency
- 104 – Home Front Command
- 106 – Municipal services
- VoIP Services: Use prefixes 072, 073, 076, 077, 079 with 7-digit subscriber numbers (format:
07X-XXXXXXX). Major providers: Bezeq International, Partner, HOT, and business VoIP services. Validate similarly to landlines with VoIP-specific prefixes. - Toll-Free Numbers: Format
1-800-XXXXXX(6 digits after 1800). Free to caller; recipient pays. - Premium Rate Numbers: Format
1-900-XXXXXX(6 digits after 1900). Higher per-minute charges for paid content services. - Shared Cost Numbers: Format
1-700-XXXXXX(6 digits after 1700). Cost split between caller and recipient. - Customer Service Short Codes: 3–5 digit codes (e.g., *6000, *5555) accessible from specific carriers. Vary by provider and service.
International Calling to and from Israel
When calling Israel from another country, use: +972-X-XXXXXXX (where X represents the area code or mobile prefix without the leading 0).
Example: To call a Jerusalem landline from the US, dial +972-2-1234567.
Calling FROM Israel to other countries:
- Dial international prefix: 00 (or + from mobile)
- Dial country code (e.g., 1 for US/Canada, 44 for UK)
- Dial area code and local number
Example: To call a US number (212-555-0100) from Israel: 00-1-212-555-0100
How to Validate Israeli Phone Numbers
Validate user-provided phone numbers to ensure data integrity and application functionality. Here's a JavaScript example using regular expressions:
const validateIsraeliPhone = (number) => {
// Remove non-digit characters except + at the start
const cleanedNumber = number.replace(/^\+/, 'PLUS').replace(/\D/g, '').replace(/^PLUS/, '+');
const formats = {
landline: /^0([2-4]|[89])\d{7}$/,
voip: /^07[2367]\d{7}$/,
mobile: /^05[0-9]\d{7}$/,
tollFree: /^1800\d{6}$/,
premium: /^1900\d{6}$/,
sharedCost: /^1700\d{6}$/,
international: /^\+972([2-9]\d{7,8}|5\d{8})$/, // E.164 format
};
for (const type in formats) {
if (formats[type].test(cleanedNumber)) {
return { valid: true, type };
}
}
return { valid: false, type: 'unknown' };
};
// Example usage:
console.log(validateIsraeliPhone('02-123-4567')); // { valid: true, type: 'landline' }
console.log(validateIsraeliPhone('+972501234567')); // { valid: true, type: 'international' }
console.log(validateIsraeliPhone('12345')); // { valid: false, type: 'unknown' }Edge Cases to Handle:
- Spaces and hyphens: Remove before validation (
02-123-4567,02 123 4567) - Parentheses: Strip from input (
(02) 1234567) - Extensions: Strip or validate separately (e.g.,
02-1234567 ext 123) - Leading/trailing whitespace: Trim before processing
- International format with country code: Support both
+972and00972prefixes
Python validation example:
import re
def validate_israeli_phone(number):
# Remove all non-digits except leading +
cleaned = re.sub(r'[^\d+]', '', number)
if cleaned.startswith('+'):
cleaned = '+' + re.sub(r'\D', '', cleaned)
else:
cleaned = re.sub(r'\D', '', cleaned)
patterns = {
'landline': r'^0[2-489]\d{7}$',
'voip': r'^07[2367]\d{7}$',
'mobile': r'^05\d{8}$',
'toll_free': r'^1800\d{6}$',
'premium': r'^1900\d{6}$',
'shared_cost': r'^1700\d{6}$',
'international': r'^\+972([2-9]\d{7,8}|5\d{8})$'
}
for phone_type, pattern in patterns.items():
if re.match(pattern, cleaned):
return {'valid': True, 'type': phone_type}
return {'valid': False, 'type': 'unknown'}Using libphonenumber library (recommended for production):
import phonenumbers
from phonenumbers import NumberParseException
def validate_with_libphonenumber(number):
try:
parsed = phonenumbers.parse(number, "IL") # IL = Israel region
is_valid = phonenumbers.is_valid_number(parsed)
number_type = phonenumbers.number_type(parsed)
return {
'valid': is_valid,
'type': number_type,
'e164': phonenumbers.format_number(parsed, phonenumbers.PhoneNumberFormat.E164)
}
except NumberParseException:
return {'valid': False, 'error': 'Invalid format'}Best Practice: Clean input by removing non-digit characters before validation. Provide clear error messages for invalid input. For production systems, use established libraries like libphonenumber for robust validation. Learn more about international phone number validation.
Best Practices for Developers
- Consistent Formatting: Store phone numbers in E.164 format (
+972XXXXXXXX) to eliminate ambiguity and simplify international operations. - User Input Handling: Provide clear instructions and examples when prompting for phone numbers. Use input masking or formatting libraries to guide user input.
- Thorough Testing: Test validation logic with valid and invalid formats. Include edge cases like spaces, hyphens, parentheses, and international formats.
- Regular Expression Optimization: Optimize regular expressions for performance when validating large datasets.
- Accessibility: Provide alternative input methods and clear error messages for users with disabilities.
Database Schema Recommendations:
- Store phone numbers as VARCHAR(15-20) to accommodate E.164 format with flexibility
- Index phone number columns for lookup performance
- Consider separate columns for:
phone_raw(user input),phone_e164(standardized),phone_country_code,phone_verified(boolean) - Store verification timestamp and method (SMS, voice call)
Security Considerations:
- Input sanitization: Validate all phone number input to prevent injection attacks
- Rate limiting: Implement rate limits on SMS/voice verification to prevent abuse
- PII protection: Encrypt phone numbers at rest; use hashing for lookups where appropriate
- Access controls: Restrict phone number access to authorized services only
- Audit logging: Log all access and modifications to phone number data
- Verification: Always verify phone ownership before sensitive operations (password reset, 2FA)
API Integration Best Practices:
- Use established SMS gateway providers (Twilio, Vonage, Amazon SNS) for Israeli numbers
- Implement retry logic with exponential backoff for failed deliveries
- Store delivery receipts and status codes for troubleshooting
- Support both SMS and voice call verification for accessibility
- Handle carrier-specific delivery delays and failures gracefully
- Monitor delivery rates by carrier and region
Common Issues & Troubleshooting:
- Issue: Validation rejects valid numbers → Solution: Ensure regex accounts for all valid prefixes (02-09, 050-059, 072-079, 1700/1800/1900)
- Issue: SMS not delivered → Solution: Check carrier compatibility, verify E.164 formatting, confirm sender ID registration
- Issue: Number portability causes carrier mismatch → Solution: Don't rely on prefix for carrier identification; use lookup APIs
- Issue: International format confusion → Solution: Always convert to E.164 internally; support multiple input formats
- Issue: Database storage inconsistency → Solution: Standardize to E.164 on input; store original format separately if needed for display
Follow these guidelines to ensure your applications handle Israeli phone numbers correctly and provide a seamless user experience.
Related Resources
Looking for more information on phone number handling? Explore these related guides:
- Understanding E.164 Phone Number Format – Learn about the international phone number standard
- International Phone Number Validation Guide – Best practices for validating global phone numbers
- SMS API Integration for Israel – Implement SMS messaging for Israeli phone numbers