Need an error msg if input is not numeric

Hello,
  I am trying to use the code below to verify the input is numeric in value only.  The part I am having trouble developing is a function that gives a msg to the user if the input isn't numeric.  Please look over my code and help me out.  Thanks.
<head>
<style type="text/css">
.classname {
font-family: Verdana, Helvetica, sans-serif;
font-weight: bold;
font-size: 12pt;
color: red;
}
</style>
</head>
 
<body>
 
<form>
 <input name="Text1" type="text" />&nbsp;<input name="Button1" type="button" value="Validate" />
</form>
 
<script type="text/javascript">
function IsNumeric(sText) {
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for (i = 0; i < sText.length && IsNumber == true; i++){
	Char = sText.charAt(i);
	if (ValidChars.indexOf(Char) == -1){
	IsNumber = false;
	}
  }
return IsNumber;
}
function CheckNumeric(field)
     {
          var check = true;
          var value = field.value; 
          for(var i=0;i < field.value.length; ++i)
          {
               var new_key = value.charAt(i); 
               if(((new_key < "0") || (new_key > "9")) && 
                    !(new_key == ""))
               {
                    check = false;
                    break;
               }
          }
          
          if(!check)
          {
               class="classname" ("Please enter a numeric value");
               
          }
     }
</script>
 
</body>
 
</html>

Open in new window

JDiditAsked:
Who is Participating?
 
HonorGodConnect With a Mentor Software EngineerCommented:
ok, no alert. what about something like:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> non-Digit </title>
<script type='text/javascript'>  
  //------------------------------------------------------------------
  // Name: field()
  // Role: Locate the specified document element
  //------------------------------------------------------------------
  function field( id ) {
    var ele = document.getElementById( id );
    if ( !ele ) {
      alert( 'Specified document element not found.  id="' + id + '"' );
    }
    return ele;
  }
 
  //------------------------------------------------------------------
  // Name: nonDigit()
  // Role: Look for a non-digit in a value
  //------------------------------------------------------------------
  function check( obj ) {
    if ( /[^0-9]/.test( obj.value ) ) {
      var msg = field( 'msg' );
      if ( msg ) {
        msg.innerHTML = 'Invalid entry.  A non-digit was specified.';
      }
    }
  }
</script>  
</head>
<body>
  <input type='text' onchange='check(this);return false;' />
  <div id='msg'></div>
</body>
</html>

Open in new window

0
 
HonorGodSoftware EngineerCommented:
Something like this might be useful
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> non-Digit </title>
<script type='text/javascript'>  
  //------------------------------------------------------------------
  // Name: nonDigit()
  // Role: Look for a non-digit in a value
  //------------------------------------------------------------------
  function check( obj ) {
    if ( /[^0-9]/.test( obj.value ) ) {
      alert( 'Invalid entry.  A non-digit was specified.' );
    }
  }
</script>  
</head>
<body>
  <input type='text' onchange='check(this);return false;' />
</body>
</html>

Open in new window

0
 
alexpercsiCommented:
There is also the native isNaN function of Javascript. isNaN returns true if the value passed to it is not a numeric value. Example

if (isNaN(document.getElementById("tx_number").value))
alert("not a valid number");
else
//submit

Open in new window

0
Introducing Cloud Class® training courses

Tech changes fast. You can learn faster. That’s why we’re bringing professional training courses to Experts Exchange. With a subscription, you can access all the Cloud Class® courses to expand your education, prep for certifications, and get top-notch instructions.

 
JDiditAuthor Commented:
I'm not looking for an alert feature... this error will come up right below the input box in red I hope (I wrote the css code that way) to let the user know that they need to only put in numbers.  
0
 
JDiditAuthor Commented:
That works great Thanks Honor!!!
0
 
HonorGodSoftware EngineerCommented:
You are very welcome.  Thanks for the grade & points.

Good luck & have a great day
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.