You can modify your existing regex pattern to include the check for leading zeros. Here’s an updated regex pattern that should work for your case:
javascriptif (paymentAmount.match(/^0*[1-9]\d*(\.\d+)?$/)) ... show error
This regex pattern breaks down as follows:
^
: Start of the string0*
: Zero or more occurrences of the digit zero[1-9]
: Any digit from 1 to 9 (to disallow leading zeros)\d*
: Zero or more occurrences of any digit(\.\d+)?
: Optional group for the decimal part, starting with a dot and followed by one or more digits$
: End of the string
This pattern will allow numbers like 1
, 1.23
, 0.123
, but will not allow 0
, 01
, 0001.23
, etc.
المزيد من المعلومات
لا مشكلة! يمكننا إضافة بعض التفاصيل إلى الصيغة النهائية:
javascriptif (paymentAmount.match(/^0*[1-9]\d*(\.\d+)?$/) === null) {
// Show error message
console.log("Invalid input. Please enter a valid number.");
} else {
// Input is valid
console.log("Input is valid.");
}
هذه الصيغة ستسمح بالأرقام التي تبدأ بصفر إذا كانت لها قيمة غير صفرية مثل 0.123
، وسترفض الأرقام التي تحتوي على صفر فقط مثل 0
أو 00
، وأيضًا الأرقام التي تحتوي على صفرات قبل القيمة الفعلية مثل 0001.23
.
الوسوم
Floating Point Numbers Pattern RegEx