-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On September 11, 2002 16:31, Jason Caldwell wrote:
> I need to extract the numbers only from a field.
>
> For example:  I have an AMOUNT field and so that I can filter out any user
> typo's I would like to extract the numbers only.
>
> If the user enters $56.55 for example or just $56 then I would like to be
> able to remove the "$" and the "." keeping just the 56 or 5655.
>
> Can I use eregi_replace() to do this -- I've been trying but it doesn't
> seem to work right.

  Hey Jason,

  You can strip out all non-numeric values with this regular expression:
  $v = ereg_replace('[^0-9]', '', $v);


  If you want to keep the decimal place, then use this
  $v = ereg_replace('[^.0-9]', '', $v);


  And finally, if you want a regular expression that recognizes monetary
  values, try this :)

  $regex  = '^'     # match the start of a string
    . '('           # capture any text that matches the regex
    . '[^0-9]*'     # match any character that is not 0-9
    . ')'           # stop capturing text
                    # Capture match so that we can see if
                    # they used a currency symbol :)
    . '?'           # Optionally match the preceding bracketed text

    . '('           # capture any text that matches the regex
    . '[0-9]+'      # match an integer number
    .'|[,.][0-9]{0,2}'        # or match a decimal value
    .'|[0-9]+[,.][0-9]{0,2}'  # match integer and decimal
    .')'            # Stop capturing text
    
    .'([^0-9]+)'    # Capture any trailing text (like USD or CAD)
    . '?';          # Optionally match the preceding bracketed text

  if( ereg($regex, $possible_numeric_value, $captured_text) ) {
    echo "$possible_numeric_value might be a monetary value.";
    var_dump ($captured_text);
    
  } else {
    echo "$possible_numeric_value is probably not a monetary value.";
  }


Cheers!
- --zak

Cheers!
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE9f89Cb6QONwsK8bIRAsP4AJ9X6RqWUDJYtagcJvZ37f/UoRJaYgCfbg1S
22ioG6nALcALqXd6xjGxOrQ=
=IbP1
-----END PGP SIGNATURE-----


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to