|
|
|
| Всем привет. Помогите с регуляркой под javascript. У нее должны быть такие ограничения:
1 - если не дробное число, то максимум в числе символов 6, естественно ноль в начале не должен ставится, т.е. не должно быть такого как: 087126
2 - если же дробное, то до запятой максимум также 6 символов, а после запятой 3, ну и аналогично, чтобы в начале числа не могли поставить ноль
Почему такие ограничения - я использую тип поля в БД mysql decimal(9,3) поэтому хочу, чтобы операторы вводили корректно числа, чтоб в базе не "слизывало числа" | |
|
|
|
|
|
|
|
для: TetRiska
(01.10.2012 в 18:18)
| | Что значит "слизывало"?
Зачем стрелять из пушки по комару?
Какие проблемы с ведущими нулями? База их отбросит и все.
На остальные условия - 3 проверки:
<?php
if( !is_numeric($chislo) or $chislo>999999 or round($chislo*1000)<>$chislo*1000 ) echo 'Ошибка';
|
Тоже самое в JS:
//<?
if( !isNaN(chislo) || chislo>999999 || Math.round(chislo*1000)!=chislo*1000) alert('error');
|
| |
|
|
|
|
|
|
|
для: Sfinks
(02.10.2012 в 10:34)
| | решил
/^(?:0|[1-9]\d{0,5})(?:\.\d{1,3})?$/
|
| |
|
|
|