Solved

java script form validation no number or charachters

Posted on 2011-09-26
26
219 Views
Last Modified: 2012-05-12
Looking for a java script that will send an alert message on submit if the input field has a number or charachter
0
Comment
Question by:darrellbuckley
[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
  • 12
  • 12
  • 2
26 Comments
 
LVL 11

Expert Comment

by:MacAnthony
ID: 36599629
This is assuming you don't want the form to submit if it contains a number or letter.

<script>
function validateInput(){
    return (document.getElementById('validateField').value.search(/\w/i) == -1); // returns false if it contains a letter or number
}
</script>

<form onsubmit="return validateInput();">
<input id="validateField" value="" />
</form>

Open in new window

0
 
LVL 82

Expert Comment

by:leakim971
ID: 36600014
@MacAnthony
\w include the underscore << _ >>

what do you mean by charachter? a letter?

another one, test page : http://jsfiddle.net/c246B/
<script>
function validateInput(){
    if( /[\da-z]/i.test( document.getElementById('validateField').value )  ) alert("contain NUMBer or letter");
}
</script>

<form onsubmit="return validateInput();">
<input id="validateField" value="" />
<input type="submit" value="check" />
</form>

Open in new window

0
 

Author Comment

by:darrellbuckley
ID: 36600131
Sorry, like a question mark or semi colen.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 82

Expert Comment

by:leakim971
ID: 36600154
function validateInput(){
    if( /[\d!;]/i.test( document.getElementById('validateField').value )  ) alert("contain NUMBer, ! or ;");
}

Open in new window


test page : http://jsfiddle.net/c246B/3/
0
 
LVL 11

Expert Comment

by:MacAnthony
ID: 36600241
Or if you want everything but normal text alphabet characters to be flagged:

(borrowing leakim971's format)
function validateInput() {
    if( /[^a-z ]/i.test( document.getElementById('validatedField').value) ) alert('Contains non-alphabet characters');
}

Open in new window

0
 

Author Comment

by:darrellbuckley
ID: 36600450
Can I use this in multible inputs on the form?
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36600473
yes, just change the id to test the right field : validatedField
0
 

Author Comment

by:darrellbuckley
ID: 36600552
i think the code is flagging letters..I only need letter to post no numbers or special charachters, @, &, # ect.
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36600562
only letter use : /[a-z]/i
0
 

Author Comment

by:darrellbuckley
ID: 36600745
ok it works but the form still posts to the next page is there a way to make them have to change the form before it posts
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36600761
ok return false to stop submission of the form else return true

function validateInput() {

if( /[a-z ]/i.test( document.getElementById('validatedField').value) )
{
   alert('Contains non-alphabet characters');
   return false;
}

return true;

}
0
 

Author Comment

by:darrellbuckley
ID: 36600865
perfect almost there, how do I add this to other field within code?

first name field
last name field and so on
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36600940
just change the id to test the right field : validatedField

if( /[a-z ]/i.test( document.getElementById('validatedField').value) && /[a-z ]/i.test( document.getElementById('validatedField_2').value) && and so on )
0
 

Author Comment

by:darrellbuckley
ID: 36600966
function validateInput(){
    if( /[\d!;]/i.test( document.getElementById('validateField').value )  )
    {
       alert('Contains non-alphabet characters');
       return false;
    }

    return true;

    }
</script>

this is what i have so far might be different
0
 

Author Comment

by:darrellbuckley
ID: 36601091
like this?

function validateInput(){
    if( /[\d!;]/i.test( document.getElementById('validateField').value )  )
    {
       alert('Contains non-alphabet characters');
       return false;
    }

    if( /[\d!;]/i.test( document.getElementById('validateField2').value )  )
    {
       alert('Contains non-alphabet characters');
       return false;
    }

    return true;

    }
</script>

0
 
LVL 82

Expert Comment

by:leakim971
ID: 36601095
no, just add && /[a-z ]/i.test( document.getElementById('validatedField_2').value)

for any new/other field

replace validatedField_2 by the right ID attrubute avlue
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36601099
>like this?

no like this :

if( /[a-z ]/i.test( document.getElementById('validatedField').value) && /[a-z ]/i.test( document.getElementById('validatedField_2').value) && and so on )
0
 

Author Comment

by:darrellbuckley
ID: 36601187
<script>
function validateInput(){
    if( /[\d!;]/i.test( document.getElementById('validateField').value )  &&  /[\d!;]/i.test( document.getElementById('validateField').value)
    {
       alert('Contains non-alphabet characters');
       return false;
    }
    return true;
    }
</script>

this doesnt seem to work, sorry for the uncertainty
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36601198
a tip :
count the number of ( parentheses
you must have the same number of )

 if( /[\d!;]/i.test( document.getElementById('validateField').value )  &&  /[\d!;]/i.test( document.getElementById('validateField').value)  )
0
 

Author Comment

by:darrellbuckley
ID: 36601221
added ) but still not working

<script>
function validateInput(){
    if( /[\d!;]/i.test( document.getElementById('validateField').value )  &&  /[\d!;]/i.test( document.getElementById('validateField2').value) )
    {
       alert('Contains non-alphabet characters');
       return false;
    }
    return true;
    }
</script>
0
 

Author Comment

by:darrellbuckley
ID: 36601244
what i have now

<script>
function validateInput(){
    if( /[\d!;]/i.test( document.getElementById('validateField').value )  &&  ( /[\d!;]/i.test( document.getElementById('validateField2').value) )
    {
       alert('Contains non-alphabet characters');
       return false;
    }
    return true;
    }
</script>
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36601257
ID:36600562

Contains non-alphabet characters mean you only want a to z?
because you ask for ! and ;
0
 
LVL 82

Expert Comment

by:leakim971
ID: 36601268
run fine for me : http://jsfiddle.net/AKp6f/1/
0
 

Author Comment

by:darrellbuckley
ID: 36601286
now it works, something must have been missing. yes I only want to process a to z nothing else
0
 

Author Comment

by:darrellbuckley
ID: 36601308
no @ or :; % all that stuff
0
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 36601337
ID:36600562
0

Featured Post

Instantly Create Instructional Tutorials

Contextual Guidance at the moment of need helps your employees adopt to new software or processes instantly. Boost knowledge retention and employee engagement step-by-step with one easy solution.

Question has a verified solution.

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

I have helped a lot of people on EE with their coding sources and have enjoyed near about every minute of it. Sometimes it can get a little tedious but it is always a challenge and the one thing that I always say is:   The Exchange of informatio…
Hello, all! I just recently started using Microsoft's IIS 7.5 within Windows 7, as I just downloaded and installed the 90 day trial of Windows 7. (Got to love Microsoft for allowing 90 days) The main reason for downloading and testing Windows 7 is t…
In this video, viewers are given an introduction to using the Windows 10 Snipping Tool, how to quickly locate it when it's needed and also how make it always available with a single click of a mouse button, by pinning it to the Desktop Task Bar. Int…
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …

705 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