У меня есть функция, которую я использую, чтобы ограничить входные данные формы только числами или числом и десятичными числами в зависимости от поля. Разрешение десятичных чисел и чисел достаточно просто, но я пытаюсь сделать шаг вперед и разрешить только один десятичный знак, а также убедиться, что десятичный знак не является первым символом в поле. Я успешно разрешил только одну десятичную дробь, и я также сделал это так, что десятичная дробь будет разрешена, только если «0» является первой цифрой, но я не могу получить ее, чтобы разрешить десятичную дробь, когда ЛЮБОЕ число является первой цифрой по какой-то причине. Я мог бы заставить это работать, если бы сделал массивное заявление if
, но я пытаюсь избежать этого. Есть предложения?
// this allows only one decimal, and only if the first character of the field is a zero
else if ((('.').indexOf(keychar) > -1) && field == document.form.start_pay && document.form.start_pay.value.indexOf('.') <= -1 && document.form.start_pay.value.charAt(0) == ('0')){
return true;
}