Checking if field contains numbers

Posted on 2000-04-19
Last Modified: 2010-03-05

How can I tell if $FORM{count} only contains numbers, therefore no letters etc.

Thanks in advance,

Graeme Sandwell
Question by:graemesandwell
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
LVL 16

Accepted Solution

maneshr earned 100 total points
ID: 2730839
You want to check whether a string represents a valid number. This is a common problem when validating input, as in a CGI script.

This problem gets to the heart of what we mean by a number. Even things that sound simple, like integer, make you think hard about what you will accept ("Is a leading + for positive numbers optional, mandatory, or forbidden?").

You must decide what you will and will not accept. Then, construct a regular expression to match those things alone. Here are some precooked solutions  for most common cases.

## Sample value.

## Eliminate any leading and trailing spaces from the variable
$FORM{count}=~ s/^\s+//;
$FORM{count}=~ s/\s+$//;

## Now check...
if ($FORM{count}!~ /^\d+$/){ # rejects -3
  print "not a natural number\n";

if ($FORM{count}!~ /^-?\d+$/){ ## rejects +3
  print "not an integer\n";

if ($FORM{count}!~ /^[+-]?\d+$/){
  print "not an integer\n";

if ($FORM{count}!~ /^-?\d+\.?\d*$/){ ## rejects .2
  print "not a decimal number\n";

if ($FORM{count}!~ /^-?(?:\d+(?:\.\d*)?|\.\d+)$/){
  print "not a decimal number\n";
LVL 84

Expert Comment

ID: 2731686
perldoc -q "How do I determine whether a scalar is a number/whole/integer/float"

Author Comment

ID: 2737606
Thanks for all the time you put into your answer!  I was looking for a number > 0.

Thanks again!

Graeme Sandwell

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Email validation in proper way is  very important validation required in any web pages. This code is self explainable except that Regular Expression which I used for pattern matching. I originally published as a thread on my website : http://www…
Checking the Alert Log in AWS RDS Oracle can be a pain through their user interface.  I made a script to download the Alert Log, look for errors, and email me the trace files.  In this article I'll describe what I did and share my script.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question