একটি ফোন নম্বর জন্য কোন বিশেষ অক্ষরের অনুমতি দেওয়া উচিত?


20

সুতরাং আমি এমন একটি ওয়েবপৃষ্ঠা ডিজাইন করছি যা বিশ্বব্যাপী ব্যবহারকারীদের জন্য ব্যবহৃত হবে, কানাডা, মার্কিন যুক্তরাষ্ট্র, ভারত, যুক্তরাজ্যের ব্যবহারকারীদেরও অন্তর্ভুক্ত রয়েছে আমাকে এই ফোন নম্বর ক্ষেত্রের জন্য বৈধতা প্রয়োগ করতে হবে, তবে আমি এটি সম্পর্কে সবচেয়ে ভাল উপায় নিশ্চিত নই ।

আমি ভাবতে পারি এমন বৈধ ফর্ম্যাটগুলির মধ্যে কয়েকটি:

  1. 1800123456 (ভারত)
  2. মার্কিন ফোন নম্বরগুলিতে "-" এর ব্যবহার

আমি কোন বিশেষ অক্ষরটি ব্যবহারকারীর প্রবেশের অনুমতি দেওয়া উচিত সে সম্পর্কে আমি কিছুটা বিভ্রান্ত (উদাঃ - / ())। অতীতে অন্যরা কীভাবে এর সমাধান করেছে?


1
চিঠিগুলি দিয়ে প্রকাশিত ফোন নম্বরগুলি সম্পর্কে কী, যেমন, 0800 ডিআইএলটিআইএসস?
mouviciel

3
আপনি কী আটকাতে চাইছেন? মিথ্যা বলছেন ব্যবহারকারী? ব্যবহারকারী আপনি তাদের নম্বর জানতে চান না? ব্যবহারকারী কিছু প্রবেশ করতে খুব অলস হচ্ছে? টাইপ করছেন ব্যবহারকারী?
বেনজল

@ মউভিভেল: হ্যাঁ এটি সম্পর্কেও আমার একবারে একটি ভলিয়েশন দৃশ্যের বিষয়ে ভাবতে হবে যাতে আমি এটি সম্পর্কে ভাবতে পারি।
রেঞ্জার

@ বেঞ্জল: এই অ্যাপ্লিকেশনটি একটি বাণিজ্যিক হিসাবে কাজ করে আমরা আমাদের সংখ্যালঘুদের ঝুঁকি নিতে পারি না আমি জানি কোন ব্যবহারকারী একটি সঠিক নম্বর লিখবে তবে সে / যদি সে না দেয় তবে কী হবে। মূল্যায়ন অত্যন্ত গুরুত্বপূর্ণ কারণ তারা অ্যাপ্লিকেশন কেবল টাইপগুলি সংরক্ষণ করে না। আমি চাই না আমার ডিবি অযথা আবর্জনায় পূর্ণ হোক।
রেঞ্জার

5
ভাল আপনি তাদের ইমেল ঠিকানা যাচাই করতে কি করছেন? আপনি দেখতে পাবেন যে প্রায় সমস্ত ওয়েবসাইটই "রিয়েল লাইফ" বৈধতা (যেমন আপনাকে একটি মেল প্রেরণ) করে। আমি মনে করি যে যদি ফোন নম্বর হল যে গুরুত্বপূর্ণ, আপনি কিছু সমতুল্য যা করতে হবে না।
বেনজল

উত্তর:


21

কেবল কারণ আপনি কিছু সীমাবদ্ধ করতে পারেন (কোডার জন্য প্রোগ্রামার হিসাবে আপনি যা অর্থ প্রদান করেছেন), তার অর্থ এই নয় যে আপনার আসলে এটি করা উচিত।

একটি সংখ্যা যাচাই করার বিষয়টি কী? কেন এটি দরকারী? কোনও ব্যবহারকারী "0800DIALTHIS", বা "私 は 電話 番号 を 持 て い な な い", বা "(499) 123-45-67 йый 4425" এ প্রবেশ করলে কি এটি ব্যর্থ হবে? এটি অবশ্যই (আপনি "গ্লোবাল" বলবেন। আপনি কি না?), ব্যবহারকারীরা কেবল ফোনের মাধ্যমে কীভাবে তাদের সাথে যোগাযোগ করবেন সে সম্পর্কে আপনাকে একটি গুরুত্বপূর্ণ তথ্য সরবরাহ করতে চেয়েছিল।

এছাড়াও, তারা যেভাবে ডেটা সংরক্ষণ করে সেগুলি যেভাবে ব্যবহৃত হয় তা দ্বারা পরিচালিত হওয়া উচিত। আপনি কিভাবে নম্বর ব্যবহার করবেন? এগুলি কি এসএমএস স্প্যামকে স্বয়ংক্রিয়ভাবে প্রেরণে ব্যবহার করা হবে — বা ম্যানেজাররা তাদের ম্যানুয়ালি ডায়াল করবে? যদি এটি পরে থাকে তবে অতিরিক্ত কোনও চরিত্রের অনুমতি দেওয়া ঠিক আছে, কারণ মানুষের মস্তিষ্ক যেভাবে তারা সবচেয়ে উপযুক্ত দেখায় সেগুলি পার্স করতে সক্ষম হবে; এবং এই ক্ষেত্রে আপনার সত্যিকারের কোনও বৈধতার দরকার নেই, যা কেবলমাত্র মানব ব্যবহারকারীদের বিরক্ত করবে।


7
"ব্যবহারকারীগণ কেবল আপনাকে তথ্যের একটি গুরুত্বপূর্ণ অংশটি জানাতে চেয়েছিলেন" এর জন্য +1। আমি প্রায়শই অপ্রয়োজনীয় বৈধতা দেখেছি যা কোনও প্রকৃত প্রযুক্তিগত (বা সংগঠক) প্রয়োজনীয়তা ছাড়াই ব্যবহারকারীকে বিরক্ত করে।
পেরিডিয়ান

6
+1 - ফোন নম্বর বৈধতা (বিশেষত এটি বৃহত্তরভাবে সংজ্ঞায়িত করা) প্রায়শই অর্থহীন, ভবিষ্যতের প্রুফ নয় (উদাহরণস্বরূপ কেএল 5-6743 বৈধ ফোন নম্বর হিসাবে ব্যবহৃত হত), এবং কেবলমাত্র বিশেষ ব্যবহারকারীদের বিরক্ত করেন। আপনার ফোন নম্বরগুলিকে একটি বড় পাঠ্য ক্ষেত্র তৈরি করুন এবং স্বয়ংক্রিয় ডায়ালারগুলিকে (যদি এই দৃশ্যে কোনও উপস্থিত থাকে) তারা কী পার্স তা পার্স করতে দিন। ব্যতিক্রমগুলি মানুষের মধ্যে উত্থাপিত হতে পারে যারা পরিস্থিতি যথাযথভাবে পরিচালনা করতে পারে।
ইজেড হার্ট

8
+1 এবং সর্বাগ্রে গুরুত্বপূর্ণ যে কেবল একটি ফোন নম্বর বৈধ, কারণ এর অর্থ এটি বিদ্যমান নেই, এমনকি এটি উপস্থিত থাকলেও এর অর্থ এই নয় যে এটি
প্রশ্নযুক্ত

ওহ হ্যাঁ, আমি আমাদের প্রধান ব্যবহারকারীরা যে দেশগুলিতে বাস করি সেগুলি সন্ধান করব এবং তারপরে আমি কিছু বৈধকরণ কোড লিখব। সমস্ত ধন্যবাদ, আমি আপনার প্রচেষ্টা প্রশংসা করি।
রেঞ্জার

4
@ রেঞ্জার এটি উত্তরটি কী পাচ্ছিল তার ঠিক বিপরীত।
সেবাস্তিয়ান Redl

7

বিভিন্ন দেশের বিভিন্ন ফর্ম্যাট রয়েছে বলে কোনও সংখ্যাটি বৈধ কিনা তা জানা খুব কঠিন হবে। ফ্রান্সে, উদাহরণস্বরূপ, 06 12 34 56 78 একটি বৈধ ফোন নম্বর, যেখানে 00 12 34 56 78 নয়, যেহেতু নম্বরটি কেবল 01 থেকে 09, 06 এবং 07 মোবাইল ফোন হয়ে শুরু করতে পারে।

এছাড়াও, ফোন নম্বরগুলি একই দেশে এমনকি বেশ কয়েকটি ফরম্যাটে লেখা যেতে পারে। আমি দেখা করেছি:

  • 06 12 34 56 78
  • 0612345678
  • 06.12.34.56.78
  • 06-12-34-56-78
  • +33612345678
  • +33 (0) 6 12 34 56 78

শেষ দুটি আন্তর্জাতিক ফর্ম হচ্ছে।

সাধারণভাবে:

  1. বন্ধনীগুলিকে অনুমতি দিন, +কেবল একটি শীর্ষস্থানীয় চরিত্র হিসাবে চিহ্নিত করুন, ড্যাশ, বিন্দু, কমা এবং স্পেস।
  2. যদি সম্ভব হয় তবে কেবলমাত্র নর্মালাইজড ফর্মটি (যেমন +33 (0) 612345678) মনে রাখবেন।
  3. যদি এটি সম্ভব না হয় তবে কমপক্ষে পৃথককারী অক্ষরগুলি (স্পেসের মতো) সরান।

প্রতি দেশগুলিতে বৈধতার গভীরতার দিকে যাওয়ার পরামর্শ দেওয়া হয় না। কেবলমাত্র প্রচুর পরিমাণে নিয়মই নয়, নিয়মগুলিও পরিবর্তিত হয়। ফ্রান্সে উদাহরণস্বরূপ, কয়েক বছর আগে 07 বা 09 দ্বারা কোনও ফোন নম্বর ছিল না mobile মোবাইল ফোনের ক্রমবর্ধমান সংখ্যার সাথে 07 উপস্থিত হয়েছিল V ভিওআইপি পরিষেবাগুলির সাথে 09 উপস্থিত হয়েছিল।

আপনি অ্যাকাউন্টে বিশেষ নম্বরও নিতে পারেন। উদাহরণস্বরূপ 3635 ফ্রান্সে একটি বৈধ সংখ্যা, এমনকি যদি এটিতে কেবল চারটি সংখ্যা থাকে এবং একটি শূন্যহীন দিয়ে শুরু হয়।


1
এটি আপনার উদাহরণগুলিতে বন্ধনীগুলির ব্যবহার প্রদর্শন করতে সহায়তা করবে। বিদেশী নাম্বারগুলি প্রায়শই এরিয়া কোডের শীর্ষস্থানীয় শূন্যটি বদ্ধ করতে তাদের ব্যবহার করে এটি নির্দেশ করে যে আপনি বিদেশ থেকে কল করার সময় ডায়াল করেন না। উদাহরণস্বরূপ +31 (0)30 1234567যেখানে 31 নেদারল্যান্ডস, 030 ক্ষেত্রের কোড এবং 1234567 গ্রাহক।
মার্জান ভেনেমা

2
এক্সটেনশান কোডের জন্য একটি fieldচ্ছিক ক্ষেত্রটি ভুলে যাবেন না (যার জন্য পাউন্ড বা অ্যাসিটার্ক কীটি অনুমোদনের প্রয়োজন হতে পারে)।
রওয়ং

@ মারজানভেনেমা, আমি খুব বেশি আন্তর্জাতিক ডায়ালিং করি না, তবে শূন্যটি যুক্ত করা মানক এবং বন্ধনী (0) যুক্ত করার জন্য আপনাকে এটি ডায়াল করবেন না? কেবল 0 টি পুরোপুরি ছেড়ে দেওয়া কি সহজ হবে না?
ক্যাফগিকে

@ চাদ: না এটি আন্তর্জাতিক ব্যবহারকারীদের তাদের এটি ছেড়ে দেওয়ার প্রয়োজন এবং জাতীয় ব্যবহারকারীদের তাদের এটির ব্যবহার করার প্রয়োজন বলে দেয়। সমস্ত দেশগুলির কাছে শূন্য দিয়ে শুরু অঞ্চল কোড নেই। এটি এইভাবে করা নিশ্চিত করে যে কেউ যখন নম্বর দেখেন তখন তারা জানেন যে তারা কখন দেশে থাকবে এবং যখন তারা দেশের বাইরে থাকবে। জাতীয়ভাবে ডাকা প্রত্যেককেই সর্বোপরি আবাসিক হওয়ার দরকার নেই ...
মার্জন ভেনেমা

@ মারজানভেনেমা, ওহ, আমি বুঝতে পারি যে জাতীয় ব্যবহারকারীদের এটির প্রয়োজনীয়তা আছে, আজ নতুন কিছু শিখেছেন।
ক্যাফগীক

3

চরিত্রগুলিকে সীমাবদ্ধ করবেন না; তিনি আপনাকে যা কিছু দেন তা গ্রহণ করুন। আপনি যখন এটি ডায়াল করবেন তখন কেবলমাত্র অঙ্কগুলি নিন। তারপরেও এটি ভুল কাজ করতে পারে। আমি থাইল্যান্ডে এক বছর আগে জানতে পেরেছিলাম যে 123-4567-9 বলতে 1234569 এর মাধ্যমে 1234567 এর মাধ্যমে একটি এক্সটেনশান নয়, বরং একটি সংখ্যার একটি পরিসীমা তৈরি করা হয়েছিল 12 কিছু নিন, কেবল অঙ্কগুলি ডায়াল করুন।

আমি এটি পছন্দ করি যে আমার নতুন ফোনটি ফোন নম্বরটিতে ফাঁকা স্থান দেয়। আমি "123 456 7890" ঠিক তেমনভাবে প্রবেশ করতে পারি, সবাই একসাথে ছড়িয়ে পড়ে না।


2
+100। "দয়া করে নাম্বার থেকে - মুছে ফেলুন" বলে কম্পিউটারের চেয়ে খারাপ আর কিছু নেই, যেন কম্পিউটারের নিজের থেকে কীভাবে এটি করা যায় তার কোনও ক্লু নেই। ক্রেডিট কার্ড নম্বরগুলির জন্য একই, এফডাব্লুআইডাব্লু।
ব্রায়ান ওকলে

0

বন্ধনী, ড্যাশ এবং স্থান।

ব্যবহারকারী একবারে এই চিহ্নগুলি সম্বলিত ফোন নম্বর প্রবেশ করিয়ে নিলে, আপনি সেগুলি দেশ-নির্দিষ্ট বিধি অনুযায়ী যাচাই করতে পারেন (যা আপনাকে প্রতিটি দেশের জন্য এই বিধিগুলি সংগ্রহ করতে হবে) এবং তারপরে অ-অঙ্কগুলি আসলে বাদ দেওয়া যেতে পারে আপনার সফ্টওয়্যার অভ্যন্তরীণ প্রক্রিয়া করা হয়।

এটি কারণ কারণ আইডিডি (আন্তর্জাতিক সরাসরি ডায়ালিং) কোনও সংখ্যা ডায়াল করার ক্ষেত্রে কোনও "বিশেষ অক্ষর" ব্যবহার করা অসম্ভব করে দেয়, অঙ্কগুলি ঘুষি দেওয়ার ক্ষেত্রে বিরতি বাদ দিয়ে।

(আমি এ বিষয়ে মোটেও জ্ঞানবান নই; আমি ভুল হলে আমাকে সংশোধন করুন))


3
আপনি আন্তর্জাতিক অ্যাক্সেসের জন্য \ + চিহ্নটি ভুলে যাচ্ছেন
মার্জান ভেনেমা

2
এক্স অক্ষরটিও অনুমতি দিন - কমপক্ষে মার্কিন যুক্তরাষ্ট্রে এক্স দ্বারা এক্সটেনশানটির উপসর্গ করা সাধারণ (যেমন: 555-1212 x123)।
ব্রায়ান ওকলে

0

যা কেবলমাত্র বৈধ হওয়া উচিত তা হ'ল অঙ্কের সংখ্যা - এটির সাথে কী আপনার কল করার দরকার পড়ে?

অ্যাক্সেস কোডগুলি কোনও ব্যবহারকারীর দ্বারা প্রবেশের অনুমতি দেওয়া উচিত নয় (যেমন মার্কিন যুক্তরাষ্ট্রের জন্য +1)। আমি আপনাকে কেন বলব - যদি এটি আমেরিকান প্রবেশ করে, এবং তারা যে সমস্ত জ্ঞানী না হয় তবে তারা সম্ভবত 1 এর পরিবর্তে 001 লিখতে চাইবে Re কারণ যে 00 মার্কিন যুক্তরাষ্ট্রে আপনি কোনও আন্তর্জাতিক সংখ্যা অ্যাক্সেস করবেন তা কারণ। তারা জানে না যে এর মধ্যে পার্থক্য কি এবং ঠিক +1। যদি আপনি অঞ্চল কোডগুলির মধ্যে ল্যান্ডলাইনগুলি কল করেন (এবং কখনও কখনও একই অঞ্চল কোডেও) তবে আপনি এই সংখ্যার আগে একটি 1ও প্রবেশ করবেন। ঠিক জাপানের মতো।

জাপান নিন। প্রাদেশিক স্থলরেখাগুলি তাদের সামনের দিকে 0 দিয়ে অ্যাক্সেস করা হয়। তবে আপনি যদি জাপানের বাইরে থেকে ডায়াল করেন তবে আপনার 0 প্রয়োজন নেই।

চীনে মোবাইল নম্বরগুলি হ'ল 10 ডিজিট এবং হংকংয়ে এটি 8 টি your তাদের যে নম্বরটি প্রবেশ করতে হবে তা দরকার।

তালিকাটি এগিয়ে যায়।

কেবল অঙ্কের সংখ্যাটি বৈধ করুন (কোনও অক্ষর গ্রহণ না করা তা নিশ্চিত করুন) এবং শেষ-ব্যবহারকারীর পক্ষে সঠিক সংখ্যার সংখ্যা প্রবেশ করানো সহজ করে দিন। উদাহরণস্বরূপ, তাদের দেশের কোড প্রবেশ করতে হবে না এবং যদি আপনার ফর্মটি দুর্দান্ত স্মার্ট হয় তবে ল্যান্ডলাইন নম্বর থাকলে তাদের এরিয়া কোড দেওয়ার প্রয়োজনও পড়তে পারে না। বা যদি তারা একটি অ্যাক্সেস কোডের মতো জিনিসগুলি জাপানের সংখ্যার সামনে 0 এর মতো লিখতে শুরু করে তবে কেবল তাদের জানান যে তাদের দরকার নেই।

অঙ্কগুলি বাদে অন্য প্রতিটি চরিত্রের তখন একটি মুট পয়েন্ট হওয়া উচিত - তাদের এগুলিতে প্রবেশের সুযোগ নেই।


1
কোনও অক্ষর গ্রহণ না করা হয়েছে তা নিশ্চিত করতে আমি সম্মত নই - এগিয়ে যান এবং স্বীকার করুন, তারপরে কেবল সেগুলি উপেক্ষা করুন। লোকেরা স্বাভাবিকভাবেই একটি শীর্ষস্থানীয় "এক্স" দিয়ে এক্সটেনশান লিখেন (যেমন: 555-1212 x123)। কেন অনুমতি দিচ্ছে না? মানুষ এটি ঠিকঠাকভাবে পার্স করতে পারে, এবং কম্পিউটারটি যদি এটির প্রয়োজন হয় তবে এটি অ-অঙ্কগুলি তুচ্ছভাবে বের করে দিতে পারে।
ব্রায়ান ওকলে

0

গুগল এর জন্য স্বাধীনতা দিয়েছে:

গুগলের সাধারণ জাভা, সি ++ এবং জাভাস্ক্রিপ্ট লাইব্রেরি আন্তর্জাতিক ফোন নম্বরগুলি পার্সিং, ফর্ম্যাট এবং বৈধকরণের জন্য।

https://github.com/googlei18n/libphonenumber

এটি সর্বোত্তম প্রচেষ্টা করে, আমি মনে করি এমন কোনও মামলা অবশ্যই হবে যা পরিচালনা করা হয় না কারণ এটি কোনও সহজ কাজ নয়। ব্যবহারকারীদের নম্বর এবং অক্ষর ইনপুট করতে দিন, কোড সহ চিঠিগুলি সরিয়ে দিন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.