সবাইকে মাফ করবেন, কোনও বিতর্ক নেই। তবে এই বছরগুলিতে সম্প্রদায়টি যেমন আমার বেড়েছে, বাড়ার জন্য কিছু নোট তৈরি করা ভাল।
আসল বর্ণানুক্রমিক স্ট্রিংটি "0a0a0a0b0c0d"
পছন্দ "000000"
বা পছন্দ নয় "qwertyuio"
।
আমি এখানে যে সমস্ত উত্তর পড়েছি তা true
উভয় ক্ষেত্রেই ফিরে এসেছিল । এবং আমাকে ক্ষমা করুন, আইএমএইচও, এটি সঠিক নয় ।
আমার "00000"
স্ট্রিংটি আলফানাম কিনা তা যদি আমি খতিয়ে দেখতে চাই তবে আমার "মানবিক" উত্তরটি সন্দেহাতীতভাবে মিথ্যা।
কেন? সহজ। আমি কোনও চিঠির চর খুঁজে পাচ্ছি না। সুতরাং, একটি সাধারণ সংখ্যাযুক্ত স্ট্রিং [0-9]
।
অন্যদিকে, আমি যদি আমার "abcdefg"
স্ট্রিং পরীক্ষা করতে চাই, তবে আমার "মানবিক" উত্তরটিও মিথ্যা। আমি সংখ্যাগুলি দেখতে পাচ্ছি না, সুতরাং এটি অক্ষর নয় meric শুধু আলফা [a-zA-Z]
।
মাইকেল মার্টিন-Smucker এর উত্তর আলোকজ্জ্বল হয়েছে।
তবে তিনি রেগেক্সের পরিবর্তে আরও ভাল পারফরম্যান্স অর্জনের লক্ষ্য নিয়েছিলেন। এটি সত্য, নিম্ন স্তরের উপায় ব্যবহার করে আরও ভাল পারফরম্যান্স পাওয়া যায়। কিন্তু ফলাফল এটি একই। স্ট্রিংগুলি "0123456789"
(কেবলমাত্র সংখ্যাসূচক), "qwertyuiop"
(কেবলমাত্র আলফা) এবং "0a1b2c3d4f4g"
(বর্ণানুক্রমিক) TRUE
অক্ষর হিসাবে ফিরে আসে । একই রেজেক্স /^[a-z0-9]+$/i
উপায়। রেজেক্স কাজ না করার কারণটি যেমন স্পষ্ট তত সহজ। সিনট্যাক্স []
ইঙ্গিত বা না এবং । সুতরাং, যদি এটি কেবল সংখ্যাসূচক হয় বা যদি এটি কেবলমাত্র অক্ষর হয় তবে রেজেক্স ফিরে আসে true
।
তবে, মাইকেল মার্টিন-স্মাকার এর উত্তর তবুও আলোকিত ছিল। আমার জন্য. এটি আমাকে "নিম্ন স্তরে" ভাবতে, এমন একটি আসল ফাংশন তৈরি করতে দেয় যা দ্ব্যর্থহীনভাবে একটি বর্ণানুক্রমিক স্ট্রিং প্রক্রিয়া করে। আমি এটিকে পিএইচপি সম্পর্কিত সম্পর্কিত ফাংশনের মতো বলেছি ctype_alnum
( 2020-02-18 সম্পাদনা করুন: যেখানে, তবে এই চেকগুলি OR এবং না )।
কোডটি এখানে:
function ctype_alnum(str) {
var code, i, len;
var isNumeric = false, isAlpha = false; //I assume that it is all non-alphanumeric
for (i = 0, len = str.length; i < len; i++) {
code = str.charCodeAt(i);
switch (true){
case code > 47 && code < 58: // check if 0-9
isNumeric = true;
break;
case (code > 64 && code < 91) || (code > 96 && code < 123): //check if A-Z or a-z
isAlpha = true;
break;
default: // not 0-9, not A-Z or a-z
return false; //stop function with false result, no more checks
}
}
return isNumeric && isAlpha; //return the loop results, if both are true, the string is certainly alphanumeric
};
... এবং এখানে ডেমো আছে
আমি এই আলোচনায় এসেছি কারণ আমি পিএইচপি ফাংশনের জাভাস্ক্রিপ্টের বিকল্প খুঁজছিলাম। আমি "প্রস্তুত-তে যেতে" উত্তরটি খুঁজে পাইনি, তবে প্রায়শই স্ট্যাকওভারফ্লোতে ঘটে যায়, জ্ঞানের ধারণা এবং একে অপরের সাথে তুলনা করা একটি দুর্দান্ত কিছু, যা আপনাকে কারওর উত্তর সম্পর্কে ভাবতে এবং আপনি যে সমাধানটি পেয়েছিলেন তা একসাথে খুঁজে বের করতে পরিচালিত করে সন্ধান করছি, কিন্তু আপনি ভেবেছিলেন না যে আপনি এটি জানেন।
এবং শেয়ার করুন!
সেরা
অস্কার