Solved

Date Value

Posted on 2003-11-20
9
238 Views
Last Modified: 2010-04-09
I have several input forms that have dates on them.  I want to make sure that people input the dates properly mm/dd/yy or day month year...

Is there a routine that can do this?
0
Comment
Question by:pinkstonm
  • 4
  • 3
  • 2
9 Comments
 
LVL 31

Expert Comment

by:GwynforWeb
ID: 9792505
You are going to have problems with dates like 10/10/03 which could be either American or European format however here is a strart for the number of digits an d's /'s

<script>
function test(D){
if (/^\d{2}\/\d{2}\/\d{2}$/.test(D))
return true
else
return false
}
alert(test("22/1/12"))
alert(test("22/10/12"))
</script>

0
 

Author Comment

by:pinkstonm
ID: 9792588
Whats the html code to invoke it?
0
 

Author Comment

by:pinkstonm
ID: 9793420
       <INPUT NAME="ced" onmouseover="fillHelp('The expiration / renewal date of the current program contract. Input data in the following format: Day-Month-Year; (i.e. –Mar-2003)')" onmouseout="fillHelp(' ')" SIZE=15 style="font-family: Arial; font-size: 10px; color: #000080" dir="ltr">

How do I connect the script to the INPUT statement
0
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 
LVL 16

Expert Comment

by:jaysolomon
ID: 9793725
<html>
<head>
<script type="text/javascript">
<!--
function validate(fObj)
{
      var err = "";
      var focusField = "";
      var objRegExp = /^\d{2}\/\d{2}\/\d{2}$/; // mm/dd/yy
      if(!objRegExp.test(fObj["ced"].value)){
            err += "- CED";
            focusField = "ced";
      }
      if(err != ""){
            alert("The following fields contain errors:\n\n"+ err);
                  fObj[focusField].focus();
                        return false;
            }
      return true;
}
// -->
</script>
<style type="text/css">
<!--
.ced{
      font-family: Arial;
      font-size: 10px;
      color: #000080;
}
-->
</style>
</head>
<body>
<form name="form1" onsubmit="return validate(this);">
      <INPUT NAME="ced" class="ced"  SIZE=15 dir="ltr">
      <input type="submit" name="btnSubmit" value="Submit">
</form>
</body>
</html>
0
 

Author Comment

by:pinkstonm
ID: 9796196
Is there not a way to do date validation either onfocus or onclick?
0
 
LVL 16

Expert Comment

by:jaysolomon
ID: 9798674
<INPUT NAME="ced" class="ced"  SIZE=15 dir="ltr" onchange="return validate(this.form);">
0
 

Author Comment

by:pinkstonm
ID: 9799335
I have seens screens on the internet that when you begin typing in them the force __/__/__
0
 
LVL 16

Expert Comment

by:jaysolomon
ID: 9799361
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript">
<!--
function formatDate(strField){
    var oLen = strField.value.length;
     if(oLen == 2 || oLen == 5){strField.value += "/";}
}
// -->
</script>
</head>
<body>
<form name="form1" method="post" action="">
Date <input type="text" name="Date" maxlength="10" size="11" onkeypress="formatDate(this);" />
</form>
</body>
</html>
0
 
LVL 31

Accepted Solution

by:
GwynforWeb earned 50 total points
ID: 9801937
Put the script in the head

<script>
function test(D){
if (/^\d{2}\/\d{2}\/\d{2}$/.test(D))
 return true
else
 {alert("please input date in DD/MM/YY form")
 return false
 }
}
</script>

<form action="http://google.com">
Date<input type="text" name="date">
<input type="submit" value="submit" onClick="if (test(date.value)) submit();return false;">
</form>
0

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

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

Someone recently asked me about how to display a progress indicator on a page while an iframe is loading. And I remember when I first came across this myself. It was a bit tricky to get my head around, but really, it's very simple. The most impor…
Have you tried to learn about Unicode, UTF-8, and multibyte text encoding and all the articles are just too "academic" or too technical? This article aims to make the whole topic easy for just about anyone to understand.
In this tutorial viewers will learn how add a scalable full-width header using CSS3. Create a new HTML document with an internal stylesheet. Set a tiled background.:  Create a new div and name it Header. Position it with position:absolute at the top…
In this tutorial viewers will learn how to position items using CSS's three positioning types Create a new HTML document with an internal stylesheet.: Create another div in CSS and name it Absolute : Type "position:absolute;" and "top:10px; left:50p…

786 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