আমার একটি আন্তর্জাতিক ফোন নম্বর ব্যবহারকারী ইনপুট যাচাই করতে হবে। E.164 অনুসারে , সর্বোচ্চ দৈর্ঘ্য 15 ডিজিট, তবে আমি ন্যূনতম সম্পর্কে কোনও তথ্য খুঁজে পাইনি। আমি কেবল অঙ্কগুলি বিবেচনা করি, কোনও যোগ চিহ্ন বা বিভাজক নয়।
আমার একটি আন্তর্জাতিক ফোন নম্বর ব্যবহারকারী ইনপুট যাচাই করতে হবে। E.164 অনুসারে , সর্বোচ্চ দৈর্ঘ্য 15 ডিজিট, তবে আমি ন্যূনতম সম্পর্কে কোনও তথ্য খুঁজে পাইনি। আমি কেবল অঙ্কগুলি বিবেচনা করি, কোনও যোগ চিহ্ন বা বিভাজক নয়।
উত্তর:
বিভিন্ন উত্স অনুসারে, আমি মনে করি E-164 ফর্ম্যাটে সর্বনিম্ন দৈর্ঘ্য দেশ-দেশে নির্ভর করে। যেমন:
সুইডেনের জন্য : সর্বনিম্ন সংখ্যার দৈর্ঘ্য (দেশের কোড বাদে) 7 ডিজিট। - সরকারী উত্স (দেশের কোড 46)
সলোমন দ্বীপপুঞ্জের জন্য এটি 5 টি নির্দিষ্ট লাইন ফোনের জন্য। - উত্স (দেশের কোড 677)
... ইত্যাদি। সুতরাং দেশের কোড সহ, সর্বনিম্ন দৈর্ঘ্য হ'ল সুইডেনের 9 এবং ইস্রায়েলের 11 এবং সলোমন দ্বীপপুঞ্জের জন্য 8 সংখ্যা।
সম্পাদনা (পরিষ্কার সমাধান) : প্রকৃতপক্ষে, দৈর্ঘ্য ইত্যাদির মতো বিভিন্ন চেক থাকা কোনও আন্তর্জাতিক ফোন নম্বরকে বৈধতা দেওয়ার পরিবর্তে আপনি গুগলের লাইবফোনেম্বার লাইব্রেরিটি ব্যবহার করতে পারেন । এটি সরাসরি E164 ফর্ম্যাটে একটি ফোন নম্বর যাচাই করতে পারে। এটি সমস্ত কিছু বিবেচনায় নেবে এবং নম্বরটি বৈধ E164 ফর্ম্যাটে থাকলে আপনার দেশ দেওয়ার দরকার নেই। এটা বেশ ভাল! একটি উদাহরণ গ্রহণ করা:
String phoneNumberE164Format = "+14167129018"
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
PhoneNumber phoneNumberProto = phoneUtil.parse(phoneNumberE164Format, null);
boolean isValid = phoneUtil.isValidNumber(phoneNumberProto); // returns true if valid
if (isValid) {
// Actions to perform if the number is valid
} else {
// Do necessary actions if its not valid
}
} catch (NumberParseException e) {
System.err.println("NumberParseException was thrown: " + e.toString());
}
আপনি যদি সেই দেশটি জানেন যার জন্য আপনি সংখ্যাগুলি যাচাই করছেন, আপনার এমনকি E164 ফর্ম্যাটের দরকার নেই এবং .parse
পাশ করার পরিবর্তে দেশটি কার্যক্রমে নির্দিষ্ট করতে পারবেন null
।
getPhoneType
ইউএএন ফিরে আসবে বলে মনে হচ্ছে। সুতরাং এই 2222 নম্বরটি ইউএন। তবে ইউনিভার্সাল অ্যাক্সেস নম্বরগুলি আরও দীর্ঘ হতে পারে। প্রযুক্তিগতভাবে এটি বৈধ নম্বর বলে মনে হচ্ছে। সুতরাং হয় আপনি নিজের পক্ষে ফোন নম্বর প্রকার বা ন্যূনতম দৈর্ঘ্য পরীক্ষা করতে পারেন।
সম্পাদনা 2015-06-27: দেশের কোড সহ সর্বনিম্ন 8 হয়। আমার খারাপ।
আসল পোস্ট
আমি যে সর্বনিম্ন ফোন নম্বরটি ব্যবহার করি তা হ'ল 10 ডিজিট। আন্তর্জাতিক ব্যবহারকারীদের সর্বদা তাদের দেশের কোডটি রাখা উচিত এবং যতদূর আমি জানি যে আপনি যদি দেশের কোড গণনা করেন তবে দশটি সংখ্যারও কম সংখ্যক কোনও দেশ নেই।
এখানে আরও তথ্য: https://en.wikedia.org/wiki/Telephone_numbering_plan
সেন্ট হেলেনার (ফর্ম্যাট: +290 XXXX) এবং নিউ (ফর্ম্যাট: +683 এক্সএক্সএক্সএক্স) এর সর্বনিম্ন দৈর্ঘ্য 4।