আমি প্রথমে jQuery ব্যবহার করে এটি সমাধান করার চেষ্টা করেছি, তবে কীআপে অপসারণের ঠিক আগে ইনপুট ক্ষেত্রে প্রকৃতপক্ষে অবাঞ্ছিত চরিত্রগুলি (অ-অঙ্কগুলি) নিয়ে আমি খুশি ছিলাম না।
অন্যান্য সমাধানের সন্ধানে আমি এটি পেয়েছি:
পূর্ণসংখ্যা (অ-নেতিবাচক)
<script>
function numbersOnly(oToCheckField, oKeyEvent) {
return oKeyEvent.charCode === 0 ||
/\d/.test(String.fromCharCode(oKeyEvent.charCode));
}
</script>
<form name="myForm">
<p>Enter numbers only: <input type="text" name="myInput"
onkeypress="return numbersOnly(this, event);"
onpaste="return false;" /></p>
</form>
উত্স: https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers.onkeypress#
উদাহরণ লাইভ উদাহরণ: http://jsfiddle.net/u8sZq/
দশমিক পয়েন্ট (অ-নেতিবাচক)
একক দশমিক বিন্দুর অনুমতি দেওয়ার জন্য আপনি এরকম কিছু করতে পারেন:
<script>
function numbersOnly(oToCheckField, oKeyEvent) {
var s = String.fromCharCode(oKeyEvent.charCode);
var containsDecimalPoint = /\./.test(oToCheckField.value);
return oKeyEvent.charCode === 0 || /\d/.test(s) ||
/\./.test(s) && !containsDecimalPoint;
}
</script>
সূত্র: সবেমাত্র এটি লিখেছেন। কাজ করছে বলে মনে হচ্ছে। সরাসরি উদাহরণ: http://jsfiddle.net/tjBsF/
অন্যান্য কাস্টমাইজেশন
- আরও প্রতীক টাইপ করার অনুমতি দিতে কেবল নিয়মিত অভিব্যক্তিগুলিতে এটি যুক্ত করুন যা বেসিক চর কোড ফিল্টার হিসাবে কাজ করে।
- সাধারণ প্রাসঙ্গিক বিধিনিষেধ প্রয়োগ করতে, ইনপুট ক্ষেত্রের বর্তমান সামগ্রী (রাষ্ট্র) দেখুন (oToCheckField.value)
আপনার আগ্রহী হতে পারে এমন কিছু জিনিস:
- শুধুমাত্র একটি দশমিক পয়েন্ট অনুমোদিত
- স্ট্রিংয়ের শুরুতে অবস্থান থাকলেই বিয়োগ চিহ্নটি মঞ্জুরি দিন। এটি নেতিবাচক সংখ্যার জন্য অনুমতি দেবে।
ভুলত্রুটি
- ক্যারেটের অবস্থানটি ফাংশনের অভ্যন্তরে উপলব্ধ নয়। এটি প্রাসঙ্গিক বিধিনিষেধকে ব্যাপকভাবে হ্রাস করেছে যা আপনি প্রয়োগ করতে পারেন (উদাহরণস্বরূপ, কোনও দুটি সমপর্যায়ের প্রতীক)। এটি অ্যাক্সেস করার সর্বোত্তম উপায় কী তা নিশ্চিত নয়।
আমি জানি শিরোনামটি jQuery সমাধানগুলির জন্য জিজ্ঞাসা করে, তবে আশা করি যে কোনওভাবেই এটি দরকারী হয়ে উঠবে।