2 এর যথার্থতার সাথে দশমিকের জন্য নিয়মিত প্রকাশটি কী?
বৈধ উদাহরণ :
123.12
2
56754
92929292929292.12
0.21
3.1
অবৈধ উদাহরণ:
12.1232
2.23332
e666.76
দশমিক বিন্দু alচ্ছিক হতে পারে এবং পূর্ণসংখ্যাগুলিও অন্তর্ভুক্ত থাকতে পারে।
2 এর যথার্থতার সাথে দশমিকের জন্য নিয়মিত প্রকাশটি কী?
বৈধ উদাহরণ :
123.12
2
56754
92929292929292.12
0.21
3.1
অবৈধ উদাহরণ:
12.1232
2.23332
e666.76
দশমিক বিন্দু alচ্ছিক হতে পারে এবং পূর্ণসংখ্যাগুলিও অন্তর্ভুক্ত থাকতে পারে।
উত্তর:
বৈধ regex টোকেন প্রয়োগ দ্বারা পরিবর্তিত হয়। একটি জেনেরিক ফর্মটি হ'ল:
[0-9]+(\.[0-9][0-9]?)?
আরও কমপ্যাক্ট:
\d+(\.\d{1,2})?
উভয়ই ধরে নিয়েছে যে উভয়ের কমপক্ষে একটি অঙ্ক আগে এবং দশমিক স্থানের পরে রয়েছে।
পুরো স্ট্রিংটি এই ফর্মের একটি সংখ্যা হওয়ার জন্য, শুরুর এবং শেষের ট্যাগগুলিতে (পার্লের ফর্মের মধ্যে) মতো এক্সপ্রেশনটি মোড়ানো:
^\d+(\.\d{1,2})?$
একক সময়ের ( ) ইনপুট বাদ দিয়ে দশমিক ( .12
) এবং পুরো সংখ্যার পূর্বে দশমিক ( ) পূর্বে অগ্রণী সংখ্যা ব্যতিরেকে ম্যাচ করতে , নিম্নলিখিত চেষ্টা করে দেখুন:12.
.
^(\d+(\.\d{0,2})?|\.?\d{1,2})$
এটি alচ্ছিক করতে ভগ্নাংশের অংশটি মোড়ানো ()?
। সচেতন থাকুন যে এটি যেমন ফর্মগুলি বাদ দেয়12.
আরও বেশি পছন্দ হবে^\d+\\.?\d{0,2}$
।
^\d{1,6}(\.\d{1,2})?$
পুনরাবৃত্তি থামাতে এবং দশমিক মানের পুরো অংশে একটি সীমাবদ্ধতা দেওয়ার জন্য ব্যবহার করুন ।
-?
, হিসাবে -?\d+(\.\d{1,2})?
। আমি নেতিবাচককে অন্তর্ভুক্ত করি না বা দশমিক পয়েন্ট দিয়ে শুরু করি না কারণ সেগুলি ওপির প্রশ্নে ছিল না, যদিও তারা অবশ্যই আরও জেনেরিক সংখ্যা বিন্যাসের জন্য বৈধ are মন্তব্যগুলির থ্রেডটি ".21" হ্যান্ডেল করার কয়েকটি উপায় দেয়।
^[0-9]+(\.[0-9]{1,2})?$
এবং যেহেতু নিয়মিত এক্সপ্রেশনগুলি পড়তে ভয়ঙ্কর, তাই কম বোঝা যায়, এখানে ভার্চুজের সমতুল্য:
^ # Start of string
[0-9]+ # Require one or more numbers
( # Begin optional group
\. # Point must be escaped or it is treated as "any character"
[0-9]{1,2} # One or two numbers
)? # End group--signify that it's optional with "?"
$ # End of string
আপনি বেশিরভাগ নিয়মিত অভিব্যক্তি বাস্তবায়নের [0-9]
সাথে প্রতিস্থাপন করতে পারেন \d
( পিসিআরই সহ , সর্বাধিক সাধারণ)। আমি এটি [0-9]
পড়া সহজ মনে করি হিসাবে এটি রেখেছি।
এছাড়াও, এটি পরীক্ষা করার জন্য আমি ব্যবহার করি পাইথন স্ক্রিপ্টটি:
import re
deci_num_checker = re.compile(r"""^[0-9]+(\.[0-9]{1,2})?$""")
valid = ["123.12", "2", "56754", "92929292929292.12", "0.21", "3.1"]
invalid = ["12.1232", "2.23332", "e666.76"]
assert len([deci_num_checker.match(x) != None for x in valid]) == len(valid)
assert [deci_num_checker.match(x) == None for x in invalid].count(False) == 0
+
প্রথম ক্লোজিং paren পর^([0-9]{0,3})(\.[0-9]{1,2})?$
\\.
পরিবর্তে হওয়া উচিত \.
কারণ .
এটি দেখতে যেমন কাজ করবে ঠিক তেমন দেখা যাবে তবে কোনও অক্ষরের সাথে মেলে (কেবল দশমিক জায়গা নয়)। উদাহরণস্বরূপ, উভয়ই বৈধ বলে বিবেচিত হতে পারে 1z23
এবং 1.23
আপনি যদি এড়াতে না পারেন
একটি alচ্ছিক বিয়োগ চিহ্নটি অন্তর্ভুক্ত করতে এবং 015
( যেমন অষ্টাল সংখ্যার জন্য ভুল হতে পারে) নাম্বারগুলি অস্বীকার করতে লিখুন:
-?(0|([1-9]\d*))(\.\d+)?
এমন সংখ্যার জন্য যেখানে হাজার হাজার বিভাজক নেই, আমি এই সাধারণ, কমপ্যাক্ট রেজেক্স পছন্দ করি:
\d+(\.\d{2})?|\.\d{2}
বা, 2 এর নির্ভুলতার মধ্যে সীমাবদ্ধ নয়:
\d+(\.\d*)?|\.\d+
পরেরটি
1
100
100.
100.74
100.7
0.7
.7
.72 এর সাথে মেলে
এবং এটি খালি স্ট্রিংয়ের সাথে মেলে না (যেমন \ d *।? \ D * হবে)
: আমি পর্যন্ত দুই দশমিক স্থান জন্য এই একটি ব্যবহার
(^(\+|\-)(0|([1-9][0-9]*))(\.[0-9]{1,2})?$)|(^(0{0,1}|([1-9][0-9]*))(\.[0-9]{1,2})?$)
পাসের:
.25
0.25
10.25
+0.25
পাস না:
-.25
01.25
1.
1.256
এটা চেষ্টা কর
(\\+|-)?([0-9]+(\\.[0-9]+))
এটি ইতিবাচক এবং নেতিবাচক লক্ষণগুলিরও অনুমতি দেবে।
প্রধান উত্তরটি ভুল because কারণ এটির মান 5.
বা 5,
ইনপুট
এই কোডটি এটি পরিচালনা করে (তবে আমার উদাহরণে নেতিবাচক সংখ্যাগুলি নিষিদ্ধ):
/^[0-9]+([.,][0-9]{1,2})?$/;
ফলাফল হ'ল:
সত্য => "0" / সত্য => "0.00" / সত্য => "0.0" / সত্য => "0,00" / সত্য => "0,0" / সত্য => "1,2" সত্য => "1.1" / সত্য => "1" / সত্য => "100" সত্য => "100.00" / সত্য => "100.0" / সত্য => "1.11" / সত্য => "1,11" / মিথ্যা => "-5" / মিথ্যা => "-0.00" / সত্য => "101" / মিথ্যা => "0.00.0" / সত্য => "0.000" / সত্য => "000.25" / মিথ্যা => ".25" / সত্য => "100.01" / সত্য => "100.2" / সত্য => "00" / মিথ্যা => "5." / false => "6," / সত্য => "82" / সত্য => "81,3" / সত্য => "
না আপনি নিতে প্রয়োজন e
মধ্যেe666.76
একাউন্টে?
সঙ্গে
(e|0-9)\d*\d.\d{1,2)
এটি আমার সাথে কাজ করেছে:
(-?[0-9]+(\.[0-9]+)?)
গোষ্ঠী 1 আপনার ভাসমান সংখ্যা এবং গ্রুপ 2 কেবল ভগ্নাংশ।
এটি ক্ষণস্থায়ী এবং 2 অঙ্ক পর্যন্ত দশমিকের অনুমতি দেবে,
^[+-]?\d+(\.\d{2}([eE](-[1-9]([0-9]*)?|[+]?\d+))?)?$
1.2e-10
([0-9]+)?
ভাল লেখা হয় \d*
। এখন এটি মেলে না 10e3
। এবং ওপি 2 সংখ্যা পর্যন্ত মিলতে চায়।
function DecimalNumberValidation() {
var amounttext = ;
if (!(/^[-+]?\d*\.?\d*$/.test(document.getElementById('txtRemittanceNumber').value))){
alert('Please enter only numbers into amount textbox.')
}
else
{
alert('Right Number');
}
}
ফাংশনটি যে কোনও দশমিক সংখ্যার আবহাওয়ার সংখ্যার দশমিক স্থান রয়েছে কিনা তা বৈধ করবে, এটি "ডান সংখ্যা" অন্যান্য বুদ্ধিমানের লোকটিকে বলবে "দয়া করে পরিমাণ পাঠ্যবক্সে কেবল সংখ্যা লিখুন enter" সতর্কতা বার্তা উপস্থিত হবে।
ধন্যবাদ ... :)