फोन नंबर जनरेटर आणि व्हॅलिडेटर - कोणत्याही देशासाठी टेस्ट नंबर
यूएस, यूके, मेक्सिको, भारतासाठी वैध टेस्ट फोन नंबर तयार करा. योग्य स्वरूपात मोबाइल किंवा लँडलाइन नंबर बनवा. व्हॅलिडेशन तर्कासाठी विकसकांसाठी मोफत साधन.
फोन नंबर जनरेटर आणि वैधता तपासणी
साहित्यिकरण
फोन नंबर निर्मितीचे महत्व
फोन वैधता तपासणी तर्कसंगत करणे कठीण असू शकते. तुम्हाला देशादेशांच्या विशिष्ट पॅटर्नांचे वास्तविक नंबर हवेत, पण मॅन्युअल टेस्ट डेटा तयार करणे कष्टसाध्य आणि त्रुटीपूर्ण असते. हे साधन त्या समस्येचे समाधान करते, बहुतेक देशांसाठी संरचनात्मक रीत्या वैध फोन नंबर तयार करून—योग्य क्षेत्र कोड, मोबाइल उपसर्ग आणि स्वरूपण सह.
तुम्ही संपर्क फॉर्म बनवत असाल, SMS API चाचणी करत असाल किंवा विकास डेटाबेस भरत असाल, तुम्हाला वास्तविक जगातील स्वरूपांशी जुळणारे नंबर मिळतील. साधन आंतरराष्ट्रीय मानकांची जटिलता (जसे E.164) हाताळते, तर इंटरफेस सोपा ठेवते: एक देश निवडा, मोबाइल किंवा लँडलाइन निवडा, आणि निर्मिती करा.
हे अनियमित अंक जनरेटरपेक्षा वेगळे काय आहे? हे नियमांचा आदर करते. मेक्सिकन मोबाइल नंबरांना योग्य क्षेत्र कोड मिळतात (मेक्सिको सिटीसाठी 55, गुआदलाजारासाठी 33). अमेरिकन नंबर 0 किंवा 1 ने सुरू होणाऱ्या अवैध पॅटर्न टाळतात. यूके मोबाइल नंबर 7 ने सुरू होतात. हे तपशील महत्वाचे असतात जेव्हा तुम्ही वैधता तर्कसंगत तपासत असता ज्याचा उपयोगकर्ते उत्पादनात अनुभव घेणार आहेत.
फोन नंबर जनरेटर कसा काम करतो
साधी इंटरफेस मागे, जनरेटर वैध फोन नंबर तयार करण्यासाठी देश-विशिष्ट नियम लागू करतो:
-
देश आणि प्रदेश निवड: आपला लक्ष्य देश आणि प्रदेश निवडा. हे क्षेत्र कोड ठरवते—उदाहरणार्थ, मेक्सिकोमध्ये "CDMX" निवडल्यास स्वयंचलितपणे 55 क्षेत्र कोड वापरला जातो.
-
नंबर प्रकार तर्क: मोबाइल आणि लँडलाइन नंबर वेगवेगळ्या पद्धतींचे असतात. यूके मध्ये, मोबाइल 7 ने सुरू होतात, तर लँडलाइन लंडनसाठी 20 सारख्या भौगोलिक कोडचा वापर करतात. साधन आपल्या निवडीनुसार योग्य उपसर्ग लागू करते.
-
यादृच्छिक अंक निर्मिती: सबस्क्राइबर नंबरसाठी, साधन वैध श्रेणींमध्ये यादृच्छिक अंक तयार करते. सर्व अंक सर्वत्र कार्य करत नाहीत—अमेरिकेचे क्षेत्र कोड 0 किंवा 1 ने सुरू होऊ शकत नाहीत, आणि काही कोड सेवांसाठी राखीव असतात.
-
स्वरूप अनुप्रयोग: नंबर E.164 मानकांनुसार (आंतरराष्ट्रीय) किंवा स्थानिक पद्धतींनुसार स्वरूपित केले जातात. मेक्सिकन नंबर आंतरराष्ट्रीय पातळीवर "+52 55 1234 5678" किंवा स्थानिकरित्या "55 1234 5678" म्हणून दिसतात.
-
सत्यापन: प्रत्येक तयार केलेला नंबर त्या देशासाठी विशिष्ट रेजेक्स पॅटर्नविरुद्ध तपासला जातो. हे प्रदर्शनापूर्वी संरचनात्मक त्रुटी पकडते.
काय दिसणार नाही: साधन जाणीवपूर्वक आणीबाणी नंबर (जसे 911), चाचणी श्रेणी आणि विशेष सेवा कोड टाळते. हे परीक्षण वातावरणात उत्पादनास सुरक्षित बनवते जेथे तुम्हाला खरी सेवा अचानक सुरू करायची नसते.
सूत्र आणि अल्गोरिदम
फोन नंबर निर्मितीचे प्रक्रिया साधी वाटत असली तरी, त्याचे योग्य अंमलबजावणी करण्यासाठी विभिन्न प्रदेशांमध्ये फोन नंबर वैध करणाऱ्या गणितीय मर्यादा आणि नमुने समजून घेणे आवश्यक आहे.
अनियमित संख्या निर्मिती अल्गोरिदम
वैध फोन नंबर निर्मिती करण्याचा मूलभूत अल्गोरिदम या सूत्राचे अनुसरण करतो:
जेथे:
- हा पूर्ण फोन नंबर
- हा देश कोड (स्थानिक स्वरूपासाठी वैकल्पिक)
- हा क्षेत्र/प्रदेश कोड
- हा उपसर्ग (नंबर प्रकारावर अवलंबून मर्यादा असू शकतात)
- हा सबस्क्राइबर नंबर (अनियमित अंक)
वैधता अल्गोरिदम
फोन नंबरांची वैधता नियमित अभिव्यक्ती पॅटर्न जुळवणी प्रक्रियेद्वारे व्यक्त केली जाऊ शकते, ज्याला गणितीयरित्या असे दर्शविता येते:
1 & \text{जर } N \text{ जुळते } R_c \\ 0 & \text{अन्यथा} \end{cases}$$ जेथे: - $V(N)$ हा वैधता निकाल (1 वैध, 0 अवैध) - $N$ हा तपासला जाणारा फोन नंबर - $R_c$ हा देश $c$ साठीचा नियमित अभिव्यक्ती पॅटर्न ### संभाव्यता आणि वितरण अनियमित फोन नंबर निर्मिती करताना, प्रत्येक स्थानावरील अंकांच्या वैध श्रेणीचा विचार करणे आवश्यक आहे. उदाहरणार्थ, अमेरिकेत, क्षेत्र कोड 0 किंवा 1 ने सुरू होऊ शकत नाहीत आणि 911 सारख्या सेवा कोडसारखे असू शकत नाहीत. एखाद्या देशासाठी शक्य असलेल्या वैध फोन नंबरांची संख्या असे मोजली जाऊ शकते: $$P_c = \prod_{i=1}^{n} d_i$$ जेथे: - $P_c$ हा देश $c$ साठी शक्य असलेल्या वैध फोन नंबरांची एकूण संख्या - $n$ हा फोन नंबरमधील स्थानांची संख्या (देश कोड वगळून) - $d_i$ हा स्थान $i$ साठी वैध अंकांची संख्या उदाहरणार्थ, अमेरिकन फोन नंबरांसाठी (देश कोड वगळून): - क्षेत्र कोडचा पहिला अंक: 8 शक्यता (2-9) - क्षेत्र कोडचे दुसरे आणि तिसरे अंक: प्रत्येकी 10 शक्यता (0-9) - सात सबस्क्राइबर अंक: प्रत्येकी 10 शक्यता (0-9) $$P_{US} = 8 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 \times 10 = 8 \times 10^9 = 8,000,000,000$$ याचा अर्थ असा आहे की 8 अब्ज शक्य वैध अमेरिकन फोन नंबर आहेत, जरी बरेच राखीव किंवा न वापरलेले असतील. ## महत्वाचे वैशिष्ट्ये ### बहु-देश समर्थन क्षेत्रीय अचूकतेसह चार प्रमुख बाजारपेठांसाठी फोन नंबर तयार करा: - **मेक्सिको (+52)**: CDMX (55), गुआदलाजारा (33), मोंटेरे (81), कान्कुन (998) आणि अधिक साठी क्षेत्रीय कोड - **संयुक्त राज्य अमेरिका (+1)**: वैध क्षेत्र कोडसह मानक 10-अंकी स्वरूप - **युनाइटेड किंगडम (+44)**: लंडन (20), मैनचेस्टर (161) आणि मोबाइल (7xxx) साठी भौगोलिक कोड - **भारत (+91)**: योग्य कॅरिअर उपसर्गासह 10-अंकी मोबाइल नंबर (6/7/8/9) प्रत्येक क्षेत्र अधिकृत क्षेत्र कोड वापरते. जेव्हा आप "मेक्सिको सिटी" निवडता, तेव्हा 55 हा क्षेत्र कोड मिळतो - तोच कोड जो खऱ्या मेक्सिकन नंबरांमध्ये वापरला जातो. ही अचूकता महत्वाची असते जेव्हा नंबर पार्स किंवा वैध करणाऱ्या अनुप्रयोगांची चाचणी केली जाते. ### आंतरराष्ट्रीय बनाम स्थानिक स्वरूप टॉगल दोन मानक प्रतिनिधित्वांमध्ये स्विच करा: - **आंतरराष्ट्रीय (E.164)**: +52 55 1234 5678 - API, डेटाबेस आणि वैश्विक प्रणालींसाठी वापरले जाते - **स्थानिक**: 55 1234 5678 - वापरकर्ते त्यांच्या स्वतःच्या देशात नंबर कसे पाहतात **याचे महत्व**: तुमच्या अनुप्रयोगाला कदाचित दोन्ही स्वरूपांमध्ये नंबर मिळू शकतात. मेक्सिकोमधील वापरकर्ते स्थानिक स्वरूप टाइप करतात, परंतु आंतरराष्ट्रीय वापरकर्ते देश कोड समाविष्ट करतात. दोन्ही चाचणी करणे हे सुनिश्चित करते की तुमची वैधता वास्तविक इनपुट हाताळते. ### मोबाइल आणि लँडलाइन वेगवेगळेपण योग्य उपसर्गासह मोबाइल किंवा लँडलाइन नंबर तयार करा: - **मोबाइल**: यूके नंबर 7 ने सुरू होतात, ऑफकॉम नियमांचे अनुसरण करत - **लँडलाइन**: विशिष्ट शहरांशी संलग्न भौगोलिक कोड (लंडनचे 20, दिल्लीचे 11) हा फरक तांत्रिक आहे, केवळ सौंदर्यात्मक नाही. एकाच देशात मोबाइल आणि लँडलाइन नंबरांनी वेगवेगळ्या नंबरिंग योजनांचे अनुसरण केले आहे. तुमच्या वैधता तर्कशास्त्राला दोन्हींची ओळख असणे आवश्यक आहे. ### एक-क्लिक कॉपी तुमच्या क्लिपबोर्डवर तत्काल निर्मित नंबर जोडण्यासाठी कॉपी बटणावर क्लिक करा. कोणतीही मानुअल निवड किंवा हाइलाइट करण्याची आवश्यकता नाही - केवळ क्लिक करा आणि तुमच्या चाचणी स्क्रिप्ट, SQL इन्सर्ट किंवा फॉर्म फील्डमध्ये पेस्ट करा. ## फोन नंबर फॉर्मेट मानके ### E.164 समजून घेणे: जागतिक मानक [E.164 मानक](https://www.itu.int/rec/T-REC-E.164/en), आंतरराष्ट्रीय दूरसंचार संघ द्वारे राखला जाणारा, जागतिक पातळीवर फोन नंबर कसे काम करतात याचे निर्धारण करतो. 1984 मध्ये स्थापित केला गेला आणि आज देखील वापरात असलेला, त्याने मूलभूत नियम ठरवले: - **कमाल 15 अंक** एकूण (देश कोड समाविष्ट) - **प्लस चिन्ह उपसर्ग** (+) आंतरराष्ट्रीय फॉर्मेटसाठी - **कोणतेही विशेष अक्षर नाहीत** वास्तविक नंबरमध्ये (रिकामी जागा आणि हायफन केवळ प्रदर्शनासाठी आहेत) फॉर्मेट संरचना: +[देश कोड] [राष्ट्रीय नंबर] डेव्हलपर्ससाठी महत्व: डेटाबेसमध्ये फोन नंबर साठवताना E.164 फॉर्मेट वापरा. हा अस्पष्टपणाविरहित, पार्सेबल आणि कोणत्याही दूरसंचार API सह कार्य करणारा आहे. "+15551234567" सारखा नंबर सार्वत्रिकरित्या समजला जातो, तर "(555) 123-4567" साठी हे समजण्यासाठी संदर्भाची आवश्यकता असते की हा अमेरिकेचा नंबर आहे. <svg width="600" height="200" xmlns="http://www.w3.org/2000/svg"> <!-- SVG कंटेंट समान राहील --> </svg> ### देश-विशिष्ट फॉर्मेट #### मेक्सिको (+52) मेक्सिकोच्या फोन नंबर प्रणालीत हे नमुने असतात: - **मोबाइल नंबर**: एकूण 10 अंक - फॉर्मेट: +52 XX XXXX XXXX - उदाहरण: +52 55 1234 5678 - मेक्सिकोमधील मोबाइल नंबर सामान्यतः 55 (मेक्सिको सिटी), 33 (गुआदलाजारा), 81 (मोंटेरे) सारख्या क्षेत्र कोडने सुरू होतात - **लँडलाइन नंबर**: 8 अंक (2 अंकी क्षेत्र कोडसह) - फॉर्मेट: +52 XX XXXX XXXX - उदाहरण: +52 55 5123 4567 #### संयुक्त राज्य अमेरिका (+1) - **मोबाइल आणि लँडलाइन दोन्ही**: एकूण 10 अंक - फॉर्मेट: +1 XXX XXX XXXX - क्षेत्र कोड (पहिले 3 अंक) क्षेत्रानुसार बदलतात - मोबाइल आणि लँडलाइन नंबर समान फॉर्मेट असतात परंतु वेगवेगळे उपसर्ग असतात #### युनाइटेड किंगडम (+44) - **मोबाइल नंबर**: सामान्यतः '7' ने सुरू होतात - फॉर्मेट: +44 7XXX XXXXXX - उदाहरण: +44 7700 123456 - **लँडलाइन नंबर**: क्षेत्रानुसार बदलतात - फॉर्मेट: +44 XX XXXX XXXX किंवा +44 XXX XXX XXXX - उदाहरण: +44 20 1234 5678 (लंडन) #### भारत (+91) - **मोबाइल नंबर**: 10 अंक, सामान्यतः 6, 7, 8 किंवा 9 ने सुरू होतात - फॉर्मेट: +91 XXXXX XXXXX - उदाहरण: +91 98765 43210 - **लँडलाइन नंबर**: क्षेत्रानुसार बदलतात, सामान्यतः 8 अंक आणि STD कोड - फॉर्मेट: +91 XX XXXX XXXX - उदाहरण: +91 11 2345 6789 (दिल्ली) ## क्विक स्टार्ट गाइड: आपला पहिला चाचणी क्रमांक तयार करा ### मूलभूत जनरेशन (१० सेकंदांपेक्षा कमी वेळात) 1. **आपला देश** ड्रॉपडाउनमधून निवडा: US (+1), UK (+44), मेक्सिको (+52), किंवा भारत (+91) 2. **क्षेत्र निवडा** योग्य एरिया कोड मिळविण्यासाठी: - मेक्सिको: CDMX (55), गुआदलाजारा (33), मोंटेरे (81) - US: राज्यानुसार बदलते - UK: लंडन (20), मैनचेस्टर (161), किंवा मोबाइल (7xxx) 3. **मोबाइल किंवा लँडलाइन** टॉगल करा जे आपण चाचणी करत आहात 4. **फॉर्मॅट निवडा**: आंतरराष्ट्रीय (+देश कोड) किंवा स्थानिक 5. **"जनरेट" वर क्लिक करा** आणि निकाल कॉपी करा ### व्यावहारिक उदाहरण: मेक्सिकन संपर्क फॉर्मची चाचणी मेक्सिकन वापरकर्त्यांसाठी नोंदणी फॉर्म बनवत असल्यास फोन वैधता तपासण्यासाठी: **मेक्सिको सिटी मोबाइल क्रमांकांसाठी:** - देश: "+52 मेक्सिको" - क्षेत्र: "CDMX (मेक्सिको सिटी)" - मोबाइल: टॉगल ON - फॉर्मॅट: आंतरराष्ट्रीय ("+52" हाताळण्याची चाचणी) - जनरेट क्लिक करा → निकाल: "+52 55 8374 2916" **स्थानिक फॉर्मॅट तपासण्यासाठी:** - समान सेटिंग्ज ठेवा, आंतरराष्ट्रीय OFF टॉगल करा - जनरेट करा → निकाल: "55 8374 2916" आता आपल्याकडे दोन वैध फॉर्मॅट आहेत जे आपल्या फॉर्मने दोन्ही पॅटर्न स्वीकारते का ते तपासण्यासाठी वापरले जाऊ शकतात. ## अमंलबजावणी उदाहरणे खाली दिलेला कोड विविध भाषांमध्ये फोन नंबर तयार करण्याचे आणि त्यांची पडताळणी करण्याचे मार्ग दर्शवतो. हे उदाहरणे मूलभूत तर्कसंग्रह दर्शवतात—उत्पादनात, व्यापक पडताळणीसाठी [libphonenumber](https://github.com/google/libphonenumber) वापरण्याचा विचार करा. ### जावास्क्रिप्ट1// मेक्सिको मोबाइल नंबर तयार करण्याचे जावास्क्रिप्ट उदाहरण
2function generateMexicanMobileNumber(international = true) {
3 // मेक्सिको सिटी एरिया कोड
4 const areaCode = "55";
5
6 // नंबरसाठी 8 अनियमित अंक तयार करा
7 let number = "";
8 for (let i = 0; i < 8; i++) {
9 number += Math.floor(Math.random() * 10);
10 }
11
12 // नंबर स्वरूपित करा
13 const formattedNumber = `${areaCode} ${number.substring(0, 4)} ${number.substring(4, 8)}`;
14
15 // आंतरराष्ट्रीय स्वरूप विनंती केल्यास देश कोड जोडा
16 return international ? `+52 ${formattedNumber}` : formattedNumber;
17}
18
19// मेक्सिको फोन नंबर पडताळण्यासाठी फंक्शन
20function validateMexicanPhoneNumber(number) {
21 // आंतरराष्ट्रीय स्वरूपासाठी पॅटर्न
22 const intlPattern = /^\+52 \d{2} \d{4} \d{4}$/;
23
24 // स्थानिक स्वरूपासाठी पॅटर्न
25 const localPattern = /^\d{2} \d{4} \d{4}$/;
26
27 return intlPattern.test(number) || localPattern.test(number);
28}
29
30// उदाहरण वापर
31const phoneNumber = generateMexicanMobileNumber();
32console.log(phoneNumber); // उदाहरण: +52 55 1234 5678
33console.log(`Is valid: ${validateMexicanPhoneNumber(phoneNumber)}`); // Is valid: true
34पायथन
1# फोन नंबर तयार करण्याचे आणि पडताळण्याचे पायथन उदाहरण
2import random
3import re
4
5def generate_us_phone_number(international=True):
6 """अनियमित अमेरिकन फोन नंबर तयार करा."""
7 # एरिया कोड तयार करा (911 सारख्या कोडांना टाळून)
8 area_code = random.randint(200, 999)
9
10 # नंबरसाठी 7 अनियमित अंक तयार करा
11 prefix = random.randint(200, 999)
12 line = random.randint(1000, 9999)
13
14 # नंबर स्वरूपित करा
15 if international:
16 return f"+1 {area_code} {prefix} {line}"
17 else:
18 return f"({area_code}) {prefix}-{line}"
19
20def validate_us_phone_number(number):
21 """एखाद्या स्ट्रिंगला अमेरिकन फोन नंबर पॅटर्नशी जुळते का ते तपासा."""
22 # आंतरराष्ट्रीय स्वरूपासाठी पॅटर्न
23 intl_pattern = r'^\+1 \d{3} \d{3} \d{4}$'
24
25 # स्थानिक स्वरूपासाठी पॅटर्न
26 local_pattern = r'^\(\d{3}\) \d{3}-\d{4}$'
27
28 return bool(re.match(intl_pattern, number) or re.match(local_pattern, number))
29
30# उदाहरण वापर
31phone = generate_us_phone_number()
32print(phone) # उदाहरण: +1 555 123 4567
33print(f"Is valid: {validate_us_phone_number(phone)}") # Is valid: True
34जावा
1import java.util.Random;
2import java.util.regex.Pattern;
3
4public class PhoneNumberGenerator {
5 private static final Random random = new Random();
6
7 public static String generateUKMobileNumber(boolean international) {
8 // यूके मोबाइल नंबर '7' ने सुरू होतात
9 StringBuilder number = new StringBuilder("7");
10
11 // 9 अनियमित अंक तयार करा
12 for (int i = 0; i < 9; i++) {
13 number.append(random.nextInt(10));
14 }
15
16 // नंबर स्वरूपित करा
17 String formatted = number.substring(0, 4) + " " + number.substring(4, 10);
18
19 // आंतरराष्ट्रीय स्वरूप विनंती केल्यास देश कोड जोडा
20 return international ? "+44 " + formatted : "0" + formatted;
21 }
22
23 public static boolean validateUKMobileNumber(String number) {
24 // आंतरराष्ट्रीय स्वरूपासाठी पॅटर्न
25 Pattern intlPattern = Pattern.compile("^\\+44 7\\d{3} \\d{6}$");
26
27 // स्थानिक स्वरूपासाठी पॅटर्न
28 Pattern localPattern = Pattern.compile("^07\\d{3} \\d{6}$");
29
30 return intlPattern.matcher(number).matches() ||
31 localPattern.matcher(number).matches();
32 }
33
34 public static void main(String[] args) {
35 String phoneNumber = generateUKMobileNumber(true);
36 System.out.println(phoneNumber); // उदाहरण: +44 7123 456789
37 System.out.println("Is valid: " + validateUKMobileNumber(phoneNumber)); // Is valid: true
38 }
39}
40पीएचपी
1<?php
2// भारतीय मोबाइल नंबर तयार करण्याचे आणि पडताळण्याचे पीएचपी उदाहरण
3
4function generateIndianMobileNumber($international = true) {
5 // भारतीय मोबाइल नंबर 6, 7, 8, किंवा 9 ने सुरू होतात
6 $prefixes = [6, 7, 8, 9];
7 $prefix = $prefixes[array_rand($prefixes)];
8
9 // 9 अनियमित अंक तयार करा
10 $number = $prefix;
11 for ($i = 0; $i < 9; $i++) {
12 $number .= rand(0, 9);
13 }
14
15 // नंबर स्वरूपित करा
16 $formatted = substr($number, 0, 5) . " " . substr($number, 5, 5);
17
18 // आंतरराष्ट्रीय स्वरूप विनंती केल्यास देश कोड जोडा
19 return $international ? "+91 " . $formatted : $formatted;
20}
21
22function validateIndianMobileNumber($number) {
23 // आंतरराष्ट्रीय स्वरूपासाठी पॅटर्न
24 $intlPattern = '/^\+91 [6-9]\d{4} \d{5}$/';
25
26 // स्थानिक स्वरूपासाठी पॅटर्न
27 $localPattern = '/^[6-9]\d{4} \d{5}$/';
28
29 return preg_match($intlPattern, $number) || preg_match($localPattern, $number);
30}
31
32// उदाहरण वापर
33$phoneNumber = generateIndianMobileNumber();
34echo $phoneNumber . "\n"; // उदाहरण: +91 98765 43210
35echo "Is valid: " . (validateIndianMobileNumber($phoneNumber) ? "true" : "false") . "\n"; // Is valid: true
36?>
37सी#
1using System;
2using System.Text;
3using System.Text.RegularExpressions;
4
5public class PhoneNumberGenerator
6{
7 private static Random random = new Random();
8
9 public static string GenerateMexicanMobileNumber(bool international = true)
10 {
11 // मेक्सिको सिटी एरिया कोड
12 string areaCode = "55";
13
14 // नंबरसाठी 8 अनियमित अंक तयार करा
15 StringBuilder number = new StringBuilder();
16 for (int i = 0; i < 8; i++)
17 {
18 number.Append(random.Next(10));
19 }
20
21 // नंबर स्वरूपित करा
22 string formattedNumber = $"{areaCode} {number.ToString(0, 4)} {number.ToString(4, 4)}";
23
24 // आंतरराष्ट्रीय स्वरूप विनंती केल्यास देश कोड जोडा
25 return international ? $"+52 {formattedNumber}" : formattedNumber;
26 }
27
28 public static bool ValidateMexicanPhoneNumber(string number)
29 {
30 // आंतरराष्ट्रीय स्वरूपासाठी पॅटर्न
31 Regex intlPattern = new Regex(@"^\+52 \d{2} \d{4} \d{4}$");
32
33 // स्थानिक स्वरूपासाठी पॅटर्न
34 Regex localPattern = new Regex(@"^\d{2} \d{4} \d{4}$");
35
36 return intlPattern.IsMatch(number) || localPattern.IsMatch(number);
37 }
38
39 public static void Main()
40 {
41 string phoneNumber = GenerateMexicanMobileNumber();
42 Console.WriteLine(phoneNumber); // उदाहरण: +52 55 1234 5678
43 Console.WriteLine($"Is valid: {ValidateMexicanPhoneNumber(phoneNumber)}"); // Is valid: True
44 }
45}
46फोन नंबर जनरेशनचे वास्तविक जग उपयोग केस
फॉर्म वैधता तर्कशास्त्र चाचणी
रजिस्ट्रेशन फॉर्म बनवताना, आपल्याला असे पडताळणे आवश्यक आहे की वैधता दोषपूर्ण नंबरांना पकडते पण वैध नंबरांना नाकारत नाही. येथे काय सामान्यतः होते: डेव्हलपर्स "555-1234" किंवा "123456789" सारख्या साधी पॅटर्न्सशी चाचणी करतात, जे कोपरे केसेस उघड करत नाहीत.
एक सामान्य परिदृश्य म्हणजे आंतरराष्ट्रीय वापरकर्ता नोंदणी. आपला फॉर्म अमेरिकन नंबर सहजपणे स्वीकारू शकतो पण भौगोलिक कोडच्या परिवर्तनशील लांबीमुळे यूके नंबर अपयशी ठरू शकतात. देशविशिष्ट नंबर जनरेट करून, आपण या समस्या वापरकर्त्यांच्या अहवालापूर्वी पकडू शकता.
प्रो टिप: प्रत्येक देशासाठी 50-100 नंबर जनरेट करा आणि त्यांना आपल्या वैधकारकाच्या माध्यमातून पाठवा. आपण लगेच आपल्या रेजेक्स पॅटर्न्समधील अंतराला शोधून काढाल.
विकास डेटाबेस भरणे
माझ्या मोठ्या डेटासेटसह काम करण्याच्या अनुभवात, वास्तविक चाचणी डेटा UI बग्स पकडण्यासाठी महत्त्वाचा असतो. जेव्हा आपच्या ग्राहक तक्त्यात 10,000 नोंदी असतात आणि सर्व "555-5555" दाखवतात, तेव्हा आपण लक्ष देणार नाही की फोन कॉलम आंतरराष्ट्रीय फॉर्मेटसाठी पुरेसे रुंद नाहीत "+44 7700 123456".
काय चांगले काम करते: विविध नंबर जनरेट करा (वेगवेगळे देश, मोबाइल/लँडलाइन मिश्रण) आपल्या उत्पादन वितरणाशी जुळणारे. जर 70% वापरकर्ते मेक्सिकोमध्ये असतील, तर आपल्या चाचणी डेटाचे 70% मेक्सिकन नंबर असावेत. हे प्रदर्शन समस्या, क्रमवारी समस्या आणि निर्यात स्वरूप बग्स उघड करते जे अन्यथा चुकले असते.
API एकीकरण चाचणी
SMS किंवा व्हॉइस API चाचणी करण्यासाठी फोन नंबर आवश्यक असतात, पण विकासात वास्तविक ग्राहक डेटा वापरू शकत नाही. सेवा प्रदाता जसे ट्विलियो चाचणी नंबर देतात, पण ते मर्यादित असतात. व्यापक चाचणीसाठी - विशेषतः दर मर्यादा, बॅच प्रक्रिया आणि त्रुटी हाताळणी - आपको मात्रा आवश्यक असते.
एक सामान्य चूक: केवळ आपल्या स्वतःच्या फोन नंबरासह चाचणी करणे. हे वेगवेगळ्या फॉर्मेट्स किंवा आंतरराष्ट्रीय नंबरांमधील समस्या उघड करणार नाही. आपल्या लक्ष्य बाजारपेठेशी जुळणारे नंबरांचा संच जनरेट करा, आणि आपण उत्पादनापूर्वी फॉर्मेटिंग बग्स पकडाल.
शैक्षणिक आणि डेमो वातावरण
कर्मचाऱ्यांना CRM सिस्टम्सवर प्रशिक्षण देताना किंवा ग्राहकांना सॉफ्टवेअर दाखवताना, आपको असा डेटा आवश्यक असतो जो वास्तविक दिसतो पण वास्तविक ग्राहक माहिती उघड करत नाही. "1234567890" सारखे अनियमित नंबर बनावट दिसतात आणि विश्वासार्हता कमी करतात.
माझा उपयोगी अनुभव: पूर्ण चाचणी डेटासेट जनरेट करा ज्यामध्ये वास्तविक नावे, पत्ते आणि योग्यरित्या फॉर्मेट केलेले फोन नंबर असतील ज्या प्रदेशांचे आपण प्रदर्शन करत आहात. हे प्रशिक्षण अधिक प्रभावी बनवते कारण हे उत्पादनात वापरकर्ते पाहतील त्याप्रमाणे असते.
वैकल्पिक समाधानांशी तुलना
गुगल चे libphonenumber लाइब्रेरी
उत्पादन सत्यापनासाठी, गुगल चे libphonenumber हा सोने मानक आहे. हे 200+ देशांसाठी हाताळते, वास्तविक कॅरियर डेटाविरुद्ध सत्यापन करते आणि विविध स्वरूपांमध्ये क्रमांक पार्स करते. तथापि, हे सत्यापनासाठी डिझाइन केले आहे, जनरेशनसाठी नाही.
libphonenumber वापरायचे कधी: जेव्हा तुम्हाला उत्पादनात वापरकर्ता इनपुट सत्यापित करायचे असेल. हे अवैध क्षेत्र कोड आणि डिस्कनेक्टेड क्रमांक श्रेणी पकडते.
या साधनाचा वापर कधी करावा: जेव्हा तुम्हाला लाइब्रेरी सेटअप न करता लगेच चाचणी डेटा हवा असेल. आमचे साधन सेकंदांत जनरेट करते; libphonenumber एकीकरण तासांत होते.
फेकर लाइब्रेरी आणि डेटा जनरेशन सुट
Faker.js किंवा पायथनचे Faker लाइब्रेरी नाव, पत्ता आणि इतर बनावट डेटासह फोन क्रमांक जनरेट करतात. ते संपूर्ण वापरकर्ता प्रोफाइल तयार करण्यासाठी उत्कृष्ट आहेत.
मर्यादा: बहुतेक फेकर लाइब्रेरी क्रमांक जनरेट करतात जे वैध दिसतात पण सर्व देश-विशिष्ट नियम पाळत नाहीत. उदाहरणार्थ, ते 8 ने सुरू होणारे यूके क्रमांक तयार करू शकतात (जे वैध मोबाइल उपसर्ग नाहीत).
या साधनाचा फायदा: आम्ही विशेषतः फोन क्रमांक नियमांवर लक्ष केंद्रित करतो, असे सुनिश्चित करून की जनरेट केलेले क्रमांक देश-विशिष्ट पॅटर्न अचूकपणे पाळतात.
दूरसंचार प्रदाता चाचणी क्रमांक
Twilio आणि Vonage सारखे प्रदाता API विकासासाठी चाचणी फोन क्रमांक देतात. हे वास्तविक कार्यरत क्रमांक आहेत जे संदेश पाठवत नाहीत किंवा कॉल्स करत नाहीत.
प्रदाता चाचणी क्रमांक वापरायचे कधी: अंत्य-ते-अंत चाचणीसाठी जेथे तुम्हाला संदेश पोहोचविणे किंवा कॉल पूर्णत्वाची पडताळणी करायची असेल.
या साधनाचा वापर कधी करावा: युनिट चाचण्या, UI चाचणी आणि डेटाबेस भरण्यासाठी जेथे तुम्हाला API दर मर्यादा किंवा खर्च न लागता मात्रा आणि विविधता हवी असेल.
फोन नंबर फॉर्मेट आणि मानकांचा इतिहास
फोन नंबर फॉर्मेट आणि मानकांचा विकास जगभरातील दूरसंचार तंत्रज्ञान आणि पायाभूत सुविधांशी घट्ट निगडित आहे.
प्रारंभिक टेलिफोन प्रणाली (1870 च्या दशक-1950 च्या दशक)
जेव्हा टेलिफोन प्रणाली 19 व्या शतकाच्या शेवटी सादर करण्यात आल्या, तेव्हा फोन नंबर खूप लहान होते, बहुतेकदा केवळ 2-4 अंक, कारण प्रत्येक शहर किंवा गावाला स्वतःचा स्वतंत्र टेलिफोन एक्सचेंज होता. ऑपरेटर्स मॅन्युअल रीत्या तारा स्विचबोर्डमध्ये घालून कॉल्स जोडत असत.
जसे-जसे टेलिफोन नेटवर्क वाढले, नंबर लांब झाले आणि एरिया कोड सादर करण्यात आले. उत्तर अमेरिकन नंबरिंग योजना (NANP) 1947 मध्ये संयुक्त राज्य अमेरिका आणि कॅनडामध्ये एकीकृत प्रणाली स्थापित करण्यासाठी तयार करण्यात आली, ज्यामध्ये परिचित 3-3-4 अंकी फॉर्मेट (एरिया कोड, एक्सचेंज कोड, सबस्क्राइबर नंबर) सादर करण्यात आला.
आंतरराष्ट्रीय मानक विकास (1960 च्या दशक-1980 च्या दशक)
अंतरराष्ट्रीय दूरसंचार संघ (ITU), जो 1865 मध्ये आंतरराष्ट्रीय तार संघ म्हणून स्थापित करण्यात आला होता, 1960 च्या दशकात टेलिफोन नंबरिंगसाठी आंतरराष्ट्रीय मानक विकसित करण्यास सुरुवात केली. यामुळे देश कोड आणि आंतरराष्ट्रीय डायलिंग प्रक्रियांचे मानकीकरण झाले.
1964 मध्ये, ITU ने शिफारस E.163 सादर केली, ज्याने आंतरराष्ट्रीय टेलिफोन नंबरिंग योजना स्थापित केली. हे नंतर 1984 मध्ये शिफारस E.164 द्वारे बदलण्यात आले, जो सध्या आंतरराष्ट्रीय सार्वजनिक दूरसंचार नंबरिंगचा मानक आहे.
मोबाइल क्रांती (1990 च्या दशक-2000 च्या दशक)
1990 च्या आणि 2000 च्या दशकात मोबाइल फोनचा व्यापक स्वीकार नंबरिंग प्रणालींसाठी नवीन आव्हाने निर्माण करत होता. अनेक देशांनी मोबाइल फोनसाठी विशिष्ट उपसर्ग किंवा संपूर्ण नंबर श्रेणी सादर केल्या. उदाहरणार्थ, यूके मध्ये, मोबाइल नंबर सामान्यतः '07' ने सुरू होतात, तर मेक्सिको मध्ये, मोबाइल नंबरांनी लँडलाइन नंबरांसारखाच फॉर्मेट ठेवला परंतु वेगवेगळ्या एरिया कोडसह.
आधुनिक मानक आणि VoIP युग (2000 च्या दशक-सध्या)
व्हॉइस ओव्हर IP (VoIP) आणि इंटरनेट-आधारित संचारनाच्या उदयामुळे, फोन नंबर फॉर्मेट अधिक लवचीक झाले आहेत. E.164 मानकाला या नवीन तंत्रज्ञानांना अनुकूल करण्यात आले आहे, आणि अनेक देशांनी अधिक क्षमता निर्माण करण्यासाठी त्यांच्या नंबरिंग योजनांमध्ये सुधारणा केली आहे.
अनेक देशांमध्ये नंबर पोर्टेबिलिटीची सुरुवात केल्याने मोबाइल आणि लँडलाइन नंबरांमधील फरक अधिक धुसर झाला आहे, कारण वापरकर्ते आता सेवा प्रकार बदलताना आपले नंबर ठेवू शकतात.
आज, फोन नंबर फॉर्मेट पुढे विकसित होत आहेत, काही देश एरिया कोड काढून टाकण्याचा किंवा फोन नंबरांचे डिजिटल ओळखींसह एकीकरण करण्याचा विचार करत आहेत. तथापि, E.164 ने स्थापित केलेली मूलभूत रचना जागतिक दूरसंचार नंबरिंगचा पाया आहे.
वारंवार विचारले जाणारे प्रश्न
मी चाचणीसाठी अचूक फोन नंबर कसा जनरेट करू?
आपल्या लक्ष्य देश आणि क्षेत्र निवडा, मोबाइल किंवा लँडलाइन फॉर्मॅट असायचा का ते टॉगल करा, आणि "फोन नंबर जनरेट करा" वर क्लिक करा. साधन त्या देशाच्या फॉर्मॅटिंग नियमांनुसार रचनात्मक दृष्ट्या वैध नंबर तयार करते. आपण आंतरराष्ट्रीय फॉर्मॅट (+देश कोड सह) आणि स्थानिक फॉर्मॅट दरम्यान टॉगल करू शकता.
विविध परिदृश्ये चाचणी करण्यासाठी, विविध सेटिंग्जसह अनेक नंबर जनरेट करा—हे विशिष्ट फॉर्मॅटमध्ये दिसणाऱ्या वैधता बगांना पकडण्यास मदत करते.
हे कॉल्स किंवा टेक्स्ट प्राप्त करू शकणारे खरे फोन नंबर आहेत का?
नाही. जनरेट केलेले नंबर योग्य फॉर्मॅटिंग पॅटर्न अनुसरतात पण अचूकपणे तयार केले जातात आणि वास्तविक ग्राहकांना असाइन केलेले नसतात. ते वैधता तर्कासाठी, डेटाबेस भरण्यासाठी आणि सॉफ्टवेअर प्रदर्शित करण्यासाठी डिझाइन केले आहेत—वास्तविक दूरसंचारासाठी नाही.
महत्वाचे: कधीही या नंबरवर वास्तविक कॉल्स किंवा टेक्स्ट करण्याचा प्रयत्न करू नका. ते खऱ्या लोकांना असू शकतात किंवा असाइन न केलेले असू शकतात.
आंतरराष्ट्रीय आणि स्थानिक फोन नंबर फॉर्मॅटमधील फरक काय आहे?
आंतरराष्ट्रीय फॉर्मॅट मध्ये प्लस चिन्हासह देश कोड असतो: +52 55 1234 5678 (मेक्सिको). हे जागतिक दूरसंचारासाठी E.164 मानक आहे.
स्थानिक फॉर्मॅट दाखवतो की त्या देशात कसे डायल करावे: 55 1234 5678 (मेक्सिको). हे देश कोड वगळते कारण घरेलू कॉल्ससाठी त्याची आवश्यकता नसते.
आंतरराष्ट्रीय वापरकर्त्यांना सेवा देणाऱ्या अनुप्रयोगांची चाचणी करताना, दोन्ही फॉर्मॅट वैध ठरवा. वापरकर्ते नंबर असमानरित्या एंटर करतात—काही "+1 555..." पेस्ट करतात, इतर "(555)..." टाइप करतात. एक मजबूत वैधता तपासणी दोन्ही हाताळते.
वेगवेगळ्या देशांमध्ये फोन नंबर फॉर्मॅट का वेगवेगळे असतात?
प्रत्येक देशाने स्वतंत्रपणे आपला नंबरिंग प्लॅन विकसित केला, जो लोकसंख्येच्या आकाराने, भौगोलिक विभागांनी आणि त्यांनी टेलिफोन पायाभूत सुविधा बांधल्याच्या वेळेने प्रभावित झाला. अमेरिकेने 1947 मध्ये उत्तर अमेरिकन नंबरिंग योजना 3-3-4 अंक पॅटर्नसह अपनावला. यूके वेरिएबल-लांबीच्या भौगोलिक कोडचा वापर करतो. भारताने आपल्या विशाल लोकसंख्येला समायोजित करण्यासाठी 10 अंकी मोबाइल नंबर मानकीकृत केले.
आंतरराष्ट्रीय दूरसंचार संघटनेचा E.164 मानक एक फ्रेमवर्क प्रदान करतो, पण देश त्यांच्या गरजांनुसार वेगवेगळ्या पद्धतीने त्याची अंमलबजावणी करतात. म्हणूनच फोन वैधता जटिल आहे—आपण सर्व देशांसाठी एक regex पॅटर्न वापरू शकत नाही.
मी जनरेट केलेले फोन नंबर माझ्या उत्पादन अनुप्रयोगात वापरू शकतो का?
केवळ विकास आणि चाचणीसाठी वापरा. त्यांना उत्पादन डेटाबेसमध्ये वास्तविक वापरकर्ता डेटा म्हणून संग्रहित करू नका. याचे कारण:
- ते अचूकपणे वास्तविक असाइन केलेल्या नंबरांशी जुळू शकतात
- ते सत्यापन कोड किंवा कॉल्स प्राप्त करणार नाहीत
- वापरकर्ते त्यांच्या खाते प्रोफाइलमध्ये या नंबरांना पाहून गोंधळून जातील
उत्पादन चाचणीसाठी (जसे स्टेजिंग पर्यावरण), आपल्या SMS किंवा व्हॉइस प्रदात्याकडून समर्पित चाचणी नंबर वापरा.
फोन नंबर वैधता कशी काम करते?
वैधता देश-विशिष्ट नियमांचा वापर करून रचनात्मक बरोबरपणा तपासते:
- लांबी सत्यापन: अमेरिकेचे नंबर 10 अंकी असले पाहिजेत, यूके मोबाइल 10-11 अंक असतात
- उपसर्ग तपासणी: यूके मोबाइल 7 ने सुरू होतात, मेक्सिकन मोबाइल विशिष्ट क्षेत्र कोड वापरतात
- पॅटर्न जुळवणे: Regex पॅटर्न योग्य गटीकरण आणि फॉर्मॅट सुनिश्चित करतात
वैधता काय करत नाही: सध्या सेवेत असलेला नंबर, वाहक ओळखणे किंवा संदेश प्राप्त करू शकतो का हे तपासणे. त्यासाठी, Twilio चा Lookup API किंवा libphonenumber एकत्रित करणे आवश्यक आहे.
काय हे साधन माझे जनरेट केलेले फोन नंबर साठवते किंवा स्टोअर करते?
नाही. सर्व जनरेशन आपल्या ब्राउझरमध्ये होते. काहीही सर्व्हरवर पाठविले जात नाही किंवा कुठेही संग्रहित केले जात नाही. जेव्हा आपण नंबर जनरेट करता, तो केवळ आपल्या वर्तमान सत्रात अस्तित्वात असतो. पृष्ठ रीफ्रेश केल्यास तो नाहीसा होतो.
हे साधन सुरक्षित वातावरणात काम करण्यासाठी सुरक्षित आहे जेथे आपण बाहेर काहीही पाठवू शकत नाही.
माझ्या स्वतःच्या कोडमध्ये फोन नंबर कसे वैध ठरवावेत?
वरील अंमलबजावणी उदाहरणे विविध भाषांसाठी वैधता पॅटर्न दर्शवतात. मूलभूत दृष्टिकोन:
- प्रत्येक देशासाठी regex पॅटर्न परिभाषित करा
- इनपुट सामान्य करा (अंतर, कंसे, हायफन काढा)
- स्वच्छ केलेला नंबर आपल्या पॅटर्नशी जुळतो का ते तपासा
- उत्पादनासाठी libphonenumber वापरण्याचा विचार करा—हे सानुकूल regex पेक्षा किनारी प्रकरणे चांगली हाताळते
सामान्य चूक: इनपुट प्रथम सामान्य न करता फॉर्मॅट वैध ठरवणे. वापरकर्ते "+1 (555) 123-4567", "1-555-123-4567", आणि "15551234567" एंटर करतात असे अपेक्षा करतात की ते सर्व काम करतील. आपल्या वैधतेने सर्व प्रकार हाताळले पाहिजेत.
संदर्भ
-
आंतरराष्ट्रीय दूरसंचार संघ (ITU). "E.164: आंतरराष्ट्रीय सार्वजनिक दूरध्वनी क्रमांकन योजना." ITU
-
उत्तर अमेरिकन क्रमांकन योजना प्रशासन. "उत्तर अमेरिकन क्रमांकन योजनेबद्दल." NANPA
-
ऑफकॉम (यूके). "दूरध्वनी क्रमांक - राष्ट्रीय दूरध्वनी क्रमांकन योजना." ऑफकॉम
-
दूरसंचार विभाग, भारत सरकार. "राष्ट्रीय क्रमांकन योजना." DoT भारत
-
संघीय दूरसंचार संस्थान (मेक्सिको). "राष्ट्रीय क्रमांकन योजना." IFT मेक्सिको
-
गूगलचे libphonenumber लायब्ररी. "दूरध्वनी क्रमांक पार्सिंग, स्वरूपण आणि सत्यापन." GitHub Repository
-
जागतिक दूरध्वनी क्रमांकन मार्गदर्शक. "आंतरराष्ट्रीय डायलिंग कोड आणि माहिती." WTNG
टेस्ट फोन नंबर तयार करणे सुरू करा
आपल्या पुढील टेस्टिंग सत्रासाठी वैध फोन नंबर हवे आहेत? आपला देश निवडा, मोबाइल किंवा लँडलाइन निवडा, आणि वास्तविक जगातील पॅटर्नचा अनुसर योग्यरित्या स्वरूपित केलेले नंबर तयार करा. साधन आंतरराष्ट्रीय मानकांची जटिलता हाताळते, तर इंटरफेस साधा ठेवते - कोणतेही खाते नाही, कोणताही एपीआय की नाही, केवळ तात्काळ परिणाम.
डेव्हलपर्ससाठी वैधता तर्कासाठी, क्यूए टीम्ससाठी टेस्ट वातावरण भरण्यासाठी, किंवा वास्तविक फोन नंबरांचे उदाहरण हवे असणाऱ्या कोणासाठीही परफेक्ट.