📅  最后修改于: 2023-12-03 15:28:17.436000             🧑  作者: Mango
When creating forms, it is essential to set limitations on the input that users can submit. One common requirement is to only allow users to input numbers and a single comma. This can be achieved easily using JavaScript.
// Get the input element
const inputElement = document.getElementById('input-field');
// Listen for user input
inputElement.addEventListener('input', () => {
// Replace all except numbers and comma
inputElement.value = inputElement.value.replace(/[^0-9,]/g, '');
// Ensure only one comma is present
const commaCount = (inputElement.value.match(/,/g) || []).length;
if (commaCount > 1) {
inputElement.value = inputElement.value.replace(/,/g, '');
return;
}
});
The code above listens for user input on a specific input field (in this case, an element with the input-field
id), and provides validation to ensure that the input is only numbers and a single comma.
First, the input
event is listened to on the input field, which is fired everytime the user enters a character into the field.
Then, using the regular expression [^0-9,]
, all characters except for numbers and commas are replaced with an empty string. This ensures that the input only contains numbers and commas.
Next, we count the number of commas in the input and replace all but the first comma if there is more than one.
Finally, the value of the input element is updated with the validated input.
By using JavaScript, we can easily restrict the input of a form field to only numbers and a single comma. This can help prevent user errors and ensure that data is submitted correctly.