Фон, приведенный в вопросе, практически не существует, но правильным способом сделать это будет попытка проанализировать ввод с любым языком, который вы используете, и, если он потерпит неудачу, отклонить его. Но если вы хотите регулярное выражение:
^\d+\.\d+$ # allows numbers with a single decimal point;
fails if it doesn't have one
^\d+(\.\d+)?$ # allows numbers with a decimal point or without one
Обратите внимание, что эти регулярные выражения допускают неограниченное количество цифр по обе стороны от десятичной точки. Если вы хотите указать количество цифр, вы можете использовать {m...n}
вместо +
quantifier:
^\d{1,3}\.\d{1,3}$ # allows numbers from 0.0 to 999.999
РЕДАКТИРОВАТЬ: Если вы хотите разрешить ввод в форме .25
, как подсказывает tchrist, вы можете использовать:
^\d*\.\d+?$