Solved

java script form validation no number or charachters

Posted on 2011-09-26
26
210 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
  • 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
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
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

ScreenConnect 6.0 Free Trial

Check out the updates in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI that improves session organization and overall user experience. See the enhancements for yourself!

Question has a verified solution.

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

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…
Have you ever needed to get an ASP script to wait for a while? I have, just to let something else happen. Or in my case, to allow other stuff to happen while I was murdering my MySQL database with an update. The Original Issue This was written…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…

803 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