Background: The project needs to process positive and negative floating point numbers with two decimal points.
Requirements: Non-digit or . characters are automatically cleared, and the . 12 Automatic patching. The first 0
Principle: Add two events to the input box, keyup and blur. Keyup handles non-required characters in the string, and blur handles the final string. Process into the ideal format 111.11
Implementation: Process the main function val through seven regular rules to represent the input string
/^d*.?d{0, 2}$/ Verify whether val is in the format of ddd.dd, if it is, it will not be processed, otherwise it will be processed
/[^.0-9] / Process all non-digit and. characters in val
/(?:d*.d{0,2}|d )/ Process val into the correct format.
/^d $/ Processing when it is an integer
/^.d{0,2}$/ Processing when there are no digits before the decimal point
/^d . d{0,2}$/ Processing when the number of digits after the decimal point is between 0-2
/^0 [1-9]d*.?d{0,2}$/ before val Processing when there is 0
Test data:
fdfd100.12 122.121 12t12.57 12546 1245. 125.4 154.45.456 .126 005245.121 dfdffd and so on
Demo Download