Solved

How to do currency validation that also allowed to put negative at infront.

Posted on 2008-10-13
1
558 Views
Last Modified: 2012-05-05
Hi,

For the below Java sctipt, How can I modify it so that my input will allowed me to put the negative sign "-" at the begining?

<html>
<head>
      <title>Test Page</title>

      <script language="JavaScript">
     
      function main()
      {
            document.getElementById("price").focus();
      }

      function parseCurrency(field)
      {
            var currency = /^\d*(?:\.\d{0,2})?$/;
            var onlyCurrency = /^(\d*(?:\.\d{0,2})?)[\s\S]*$/;
           
            if(!currency.test(field.value))
            {
                  field.value = field.value.replace(onlyCurrency, "$1");
            }
      }
     
      </script>
</head>

<body onload="javascript:main();">

      $ <input type="text" id="price" name="price" onKeyUp="javascript:parseCurrency(this);" onChange="javascript:parseCurrency(this);">

</body>
</html>
0
Comment
Question by:runbird
[X]
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
1 Comment
 
LVL 16

Accepted Solution

by:
Lolly-Ink earned 200 total points
ID: 22708246
Add the minus sign to the 2 regular expressions:
<html>
<head>
      <title>Test Page</title>
 
      <script language="JavaScript">
      
      function main()
      {
            document.getElementById("price").focus();
      }
 
      function parseCurrency(field)
      {
            var currency = /^\-?\d*(?:\.\d{0,2})?$/;
            var onlyCurrency = /^(\-?\d*(?:\.\d{0,2})?)[\s\S]*$/;
            
            if(!currency.test(field.value))
            {
                  field.value = field.value.replace(onlyCurrency, "$1");
            }
      }
      
      </script>
</head>
 
<body onload="javascript:main();">
 
      $ <input type="text" id="price" name="price" onKeyUp="javascript:parseCurrency(this);" onChange="javascript:parseCurrency(this);">
 
</body>
</html>

Open in new window

0

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

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

Article by: DanRollins
This article describes a JavaScript program that creates a maze made of hexagonal cells.  In Part 2 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7850-Hex-Maze-Part-2.html), we'll extend the program by adding a depth-…
JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…
Suggested Courses

615 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