I’m new to Javascript and I am learning regular expressions and was wondering if anyone could shed some light on a couple of problems I came across.
I’m writing feedback form which requires validation before sending and I wasn’t quite sure how to include spaces for the address.
I have this code so far, which works as long as I don’t include spaces:
function isAlphanumeric(elem, helperMsg){
var alphaExp = /^[0-9a-zA-Z]+$/;
if(elem.value.match(alphaExp)){
return true;
}else{
alert(helperMsg);
elem.focus();
return false;
}
}
Can I simply insert \w so the expression includes spaces?
Also, I wanted to do an alert which lets the user know the form submission has been successful. Using this code:
if(isAlphabet(firstname, "Please only enter letters for your name")){
if(isAlphabet(surname, "Please only enter letters for your name")){
if(emailValidator(email, "Please enter a valid email address")){
if(isNumeric(phone, "Please enter a valid telephone number")){
if(isAlphanumeric(address1, "Numbers and letters only for address")){
if(isAlphanumeric(pcode, "Please enter a valid postcode")){
{
return true;
}}}}}}}
return false;
Where is the best place to insert the code? I tried after return true, but it didn’t work.
Any tips would be great!
\wdoes not include spaces, so that won’t work. If you just want to allow a literal space character, then insert it:If you want to allow all kinds of space characters, use
\s:As for placing an alert after
return true;, that definitely won’t work;return, as the name suggests, returns from the function. Execution of the function ends there. Just put thealertbefore thereturn true.You might also consider using
&&(logical AND) to make things neater there.You might also want to reconsider whether you actually want an alert saying the submission was successful. I generally avoid that – if something is successful, it should be obvious.