phpcodeignitervalidationparsley

How to validate negative, float numbers in parsley validation


I have a select box which option contain Negative numbers, floar numbers. How do i validate that in parsely.

<select class="form-control"  data-parsley-pattern="^[0-9]*\.[0-9]{2}$" id="duration"  name="duration">
    <option value="-1" >Not Strated</option>
    <option value="0" >Just Strated</option>
    <option value="1.6" >1.6 % Done</option>
    <option value="2">2 % Done</option>
    <option value="2.6">2.6 % Done</option>
    <option value="3">3 % Done</option>
    <option value="3.6">3.6 % Done</option>
    <option value="4">4 % Done</option>
    <option value="4.6">4.6 % Done</option>
    <option value="5">5 % Done</option>
   //And So on...
</select>

I have tried some of solution on SO but it didn't work.

data-parsley-pattern="^[0-9]*\.[0-9]{2}$"

The Solution Which i found to validate negative and float numbers in parsley is.

^-?[0-9]\d*(\.\d+)?$

Solution

  • Your pattern was missing a few parts.
    It did not capture negative numbers so I added a - in the first "group".
    I added ? To make the float part not optional.
    I moved . To the [ ] and added * to make zero or more possible.

    ^[-0-9]+?[\.0-9]*$

    https://regex101.com/r/i5qt3m/2

    OP found the answer: ^-?[0-9]\d*(\.\d+)?$