Combining 2 scripts

hi all
i have 2 javascript one is simple login form and other is username function.
i want to fit username function into login form because username function will allow special characters.
below is my login form …
<html>
<head>
<meta charset=“utf-8”>
<title>Simple Registration Form</title>
<script type=“text/javascript”>
function checkName(form) /* for real name verification */
{
var oRE = /[1]+[_.-]?[a-z0-9]+$/i;
var isCorrectFormat = oRE.test(text);
if (!isCorrectFormat)
{
alert(“Invalid characters in username. It can only contain…”);
return false;
}

if (form.realname.value == ‘’)
{
alert(‘Error: Username cannot be blank!’);
form.realname.focus();
return false;
}

    return true;
}

function checkEmail(form) /* for email validation */
{
    if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(form.email.value))
    {
        return true;
    }
    
    alert('Invalid E-mail Address! Please re-enter.');
    return false;
}

function validatePwd(form) /* password & retype-password verification */
{
    var invalid = ' ', minLength = 6;
    var pw1 = form.password.value, pw2 = form.password2.value;

    if (pw1 == '' || pw2 == '')
    {
        alert('Please enter your password twice.');
        return false;
    }

    if (form.password.value.length &lt; minLength)
    {
        alert('Your password must be at least ' + minLength + ' characters long. Try again.');
        return false;
    }

    if (document.form.password.value.indexOf(invalid) &gt; -1)
    {
        alert('Sorry, spaces are not allowed.');
        return false;
    }
    else
    {
        if (pw1 != pw2)
        {
            alert('You did not enter the same new password twice. Please re-enter your password.');
            return false;
        }
        else
        {
            alert('Successfull.');
            return true;
        }
    }
}

function validPhone(form) /* phone no validation */
{
    var valid = '0123456789', phone = form.phoneno.value;
    
    if (phone == '')
    {
        alert('This field is required. Please enter phone number');
        return false;
    }
    
    if (!phone.length &gt; 1 || phone.length &lt; 10)
    {
        alert('Invalid phone number length! Please try again.');
        return false;
    }
    
    for (var i = 0; i &lt; phone.length; i++)
    {
        temp = '' + phone.substring(i, i + 1);
        
        if (valid.indexOf(temp) == -1)
        {
            alert('Invalid characters in your phone. Please try again.');
            return false;
        }
    }
    
    return true;
}

function validate()
{
    var form = document.forms['form'];
    
    if (!checkName(form) || !checkEmail(form) || !validatePwd(form) || !validPhone(form))
    {
        return false;
    }
    
    return true;
}

</script>
</head>
<body>

<form action=“” method=“post” name=“form” onsubmit=“return validate()”>
Name: <input type=“text” name=“realname” size=“25”>
<br>
E-Mail: <input type=“text” name=“email” size=“25”>
<br>
Password: <input type=“password” name=“password” maxlength=“12” size=“25”>
<br>
Retype password: <input type=“password” name=“password2” maxlength=“12” size=“25”>
<br>
PhoneNo: <input type=“phoneno” name=“phoneno” maxlength=“10” size=“25”>
<br>
<input type=“submit” value=“Submit”>
</form>
</body>
</html>

i want to include the below one in the above function so that it works perfectly
<html>
<head>
<title> Validate Username</title>
<script type=“text/javascript”>
function validateUsername(form)
{
var sUsername = form.value;
var oRE = /[2]+[_.-]?[a-z0-9]+$/i;
var isCorrectFormat = oRE.test(sUsername);
if (!isCorrectFormat)
{
alert(“Incorrect format.”);
textbox.select();
textbox.focus();
return false;
}
alert(“Correct format”);
return true;
}
</script>
</head>
<body>
<form>
<input type=“text” id=“txtUsername” size=“30” maxlength=“20” /> <input type=“button”
value=“Validate” onclick=“validateUsername(document.getElementById(‘txtUsername’));” />
</form>
</body>
</html>
please can you make for that me…


  1. a-z0-9 ↩︎

  2. a-z0-9 ↩︎

first script is a complete registration form with username not accepting special characters.then i have written the second script exclusively for username accepting atleast one special characters just to check working or not.
it is working perfectly so i need to replace the checkname function in first form with second script i have written.
so that only one script will be there to accept username with at least one special characters…

Please put code tags around the code you post, so it’s easier to read and understand.

And it looks to me like you already have the exact same check on name in the first script. What is it that the second script does, and the first doesn’t?

var oRE = /[1]+[.-]?[a-z0-9]+$/i; <– first script
var oRE = /[2]+[
.-]?[a-z0-9]+$/i; <– second script

I see no difference between the two


  1. a-z0-9 ↩︎

  2. a-z0-9 ↩︎

no replace whole function in second script(which has username)
in the first function(only checkname(form) function) so that i need only one
code for simple login form

can u tell me why the following script it is not executing…
where i have gone wrong…
<html>
<head>
<meta charset=“utf-8”>
<title>Validation using JavaScript</title>
<script type=“text/javascript”>
function checkname(form)
{
{
var sRealname = form.value;
var oRE = /[1]+[_.-]?[a-z0-9]+$/i;
var isCorrectFormat = oRE.test(sRealname);
if (!isCorrectFormat)
{
alert(“Incorrect format.”);
textbox.select();
textbox.focus();
return false;
}
alert(“Correct format”);
return true;
}
else if (sRealName == ‘’)
{
alert(‘Error: Username cannot be blank!’);
form.realname.focus();
return false;
}
else if(sRealName.length < 4)
{
alert(“UserName should be atleast 4 characters long”);
return false;
}

      return true;
 }

function checkEmail(form)   /* for email validation */
{
    if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(form.email.value))
    {
        return true;
    }
    
     alert('Invalid E-mail Address! Please re-enter.'); 
     return false;
}

function validatePwd(form)       /* password & retype-password verification */
{
    var invalid = ' '; 
    minLength = 6;
    var pw1 = form.password.value; 
    var pw2 = form.password2.value;
    
     
    if (pw1 == '' || pw2 == '')
    {
        alert('Please enter your password twice.');
        return false;
    }                                              
    
   
    if (form.password.value.length &lt; minLength)
    {
        alert('Your password must be at least ' + minLength + ' characters long. Try again.');
        return false;
    }                                                                              
    
    if (document.form.password.value.indexOf(invalid) &gt; -1)
    {
        alert('Sorry, spaces are not allowed.');
        return false;
    }
    else
    {
        if (pw1 != pw2)
        {
            alert('You did not enter the same new password twice. Please re-enter your password.');
            return false;
           }
        else
         {
            alert('Passwords Match.');
               return false;
         } 
                                                                                                   
        return false;                                                                    
    }
}  

function validPhone(form)          /* phone no validation */
{
    var valid = '0123456789'; 
    phone = form.phoneno.value;
    
    if (phone == '')
    {
        alert('This field is required. Please enter phone number');
        return false;
    }
    
    if (!phone.length &gt; 1 || phone.length &lt; 10)
    {
        alert('Invalid phone number length! Please try again.');
        return false;
    }
    
    for (var i = 0; i &lt; phone.length; i++)
    {
        temp = '' + phone.substring(i, i + 1);
        
        if (valid.indexOf(temp) == -1)
        {
            alert('Invalid characters in your phone. Please try again.');
            return false;
        }
    }
    
    return true;
}

function validate()
{
    var form = document.forms['form'];
    
    if (!checkName(form) || !checkEmail(form) || !validatePwd(form) || !validPhone(form))
    {
        return false;
    }
    
    return true;
}

</script>
</head>
<body>

<form action=“” method=“post” name=“form” onsubmit=“return validate()”>
User Name : <input type=“text” name=“realname” size=“19”>
<br>
E-Mail : <input type=“text” name=“email” size=“25”>
<br>
Password : <input type=“password” name=“password” maxlength=“12” size=“25”>
<br>
Retype password: <input type=“password” name=“password2” maxlength=“12” size=“25”>
<br>
PhoneNo : <input type=“phoneno” name=“phoneno” maxlength=“10” size=“25”>
<br>
<input type=“submit” value=“Submit”>
</form>

</body>
</html>


  1. a-z0-9 ↩︎

Your checkname is the reason your script isn’t working, you have a random opening curly brace and else if statement. See the below code for the function snippet of how the code should look.

function checkname(form)
{
    var sRealname = form.value;
    var oRE = /^[a-z0-9]+[_.-]?[a-z0-9]+$/i;
    var isCorrectFormat = oRE.test(sRealname);
    
    if (!isCorrectFormat)
    {
        alert("Incorrect format.");
        textbox.select();
        textbox.focus();
        return false;
    }
    else
    {
        alert("Correct format");
        return true;
    }
    
    if (sRealName == '')
    {
        alert('Error: Username cannot be blank!');
        form.realname.focus();
        return false;
    }
    else if (sRealName.length < 4)
    {
        alert("UserName should be atleast 4 characters long");
        return false;
    }
    
    return true;
}

I repeat myself…

<the function given by you is not working >
<below is the overall javascript function for simple form.it has some errors tell me what should i do to execute the below script>
<simple login form>

<html>
<head>
<meta charset=“utf-8”>
<title>Validation using JavaScript</title>
<script type=“text/javascript”>
function checkname(form)
{
var sRealname = form.value;
var oRE = /[1]+[_.-]?[a-z0-9]+$/i;
var isCorrectFormat = oRE.test(sRealname);

if (!isCorrectFormat)
{
    alert("Incorrect format.");
    textbox.select();
    textbox.focus();
    return false;
}
else
{
    alert("Correct format");
    return true;
}

if (sRealName == '')
{
    alert('Error: Username cannot be blank!');
    form.realname.focus();
    return false;
}
else if (sRealName.length &lt; 4)
{
    alert("UserName should be atleast 4 characters long");
    return false;
}

return true;

}

function checkEmail(form)   /* for email validation */
{
    if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(form.email.value))
    {
        return true;
    }
    
     alert('Invalid E-mail Address! Please re-enter.'); 
     return false;
}

function validatePwd(form)       /* password & retype-password verification */
{
    var invalid = ' '; 
    minLength = 6;
    var pw1 = form.password.value; 
    var pw2 = form.password2.value;
    
     
    if (pw1 == '' || pw2 == '')
    {
        alert('Please enter your password twice.');
        return false;
    }                                              
    
   
    if (form.password.value.length &lt; minLength)
    {
        alert('Your password must be at least ' + minLength + ' characters long. Try again.');
        return false;
    }                                                                              
    
    if (document.form.password.value.indexOf(invalid) &gt; -1)
    {
        alert('Sorry, spaces are not allowed.');
        return false;
    }
    else
    {
        if (pw1 != pw2)
        {
            alert('You did not enter the same new password twice. Please re-enter your password.');
            return false;
           }
        else
         {
            alert('Passwords Match.');
               return false;
         } 
                                                                                                   
        return false;                                                                    
    }
}  

function validPhone(form)          /* phone no validation */
{
    var valid = '0123456789'; 
    phone = form.phoneno.value;
    
    if (phone == '')
    {
        alert('This field is required. Please enter phone number');
        return false;
    }
    
    if (!phone.length &gt; 1 || phone.length &lt; 10)
    {
        alert('Invalid phone number length! Please try again.');
        return false;
    }
    
    for (var i = 0; i &lt; phone.length; i++)
    {
        temp = '' + phone.substring(i, i + 1);
        
        if (valid.indexOf(temp) == -1)
        {
            alert('Invalid characters in your phone. Please try again.');
            return false;
        }
    }
    
    return true;
}

function validate()
{
    var form = document.forms['form'];
    
    if (!checkName(form) || !checkEmail(form) || !validatePwd(form) || !validPhone(form))
    {
        return false;
    }
    
    return true;
}

</script>
</head>
<body>

<form action=“” method=“post” name=“form” onsubmit=“return validate()”>
User Name : <input type=“text” name=“realname” size=“19”>
<br>
E-Mail : <input type=“text” name=“email” size=“25”>
<br>
Password : <input type=“password” name=“password” maxlength=“12” size=“25”>
<br>
Retype password: <input type=“password” name=“password2” maxlength=“12” size=“25”>
<br>
PhoneNo : <input type=“phoneno” name=“phoneno” maxlength=“10” size=“25”>
<br>
<input type=“submit” value=“Submit”>
</form>

</body>
</html>


  1. a-z0-9 ↩︎

var sRealname = form.[B][COLOR="Red"]realname.[/COLOR][/B]value;

“is not working”
“has some errors”

are not very helpful descriptions of your problem.

When you get errors, post the error messages.
When it’s “not working”, explain what that means.

And put code tags around the code you post here!

<no it is not accepting.i have given var sRealname = form.realname.value;>
is it right

<even if we give wrong output to username as ravi!951 is is not displaying error message>

Accepting what?

By the way, if you go to the advanced editor when writing your posts, there is a ‘select syntax’ drop down in the editor’s menu bar, where you can choose the coding language, and the appropriate code tags will be inserted.

<even if we give wrong output to username as ravi!951 is is not displaying error message as incorrect format>

There is no need to put < and > around everything you write. I only told you to put code tags around the code you post. The general code tags are [ code ] and [ /code ] (without the spaces). If you go to the advanced reply editor, you can choose more language specific tags in the ‘select syntax’ drop down box in the editor’s menu.

Please post your corrected code once again (with the code tags around it :wink: )

below is my corrected code


<html>
<head>
<meta charset="utf-8">
<title>Validation using JavaScript</title>
<script type="text/javascript">
   function checkname(form)
 {
    var sRealname = form.realname.value;
    var oRE = /^[a-z0-9]+[_.-]?[a-z0-9]+$/i;
    var isCorrectFormat = oRE.test(sRealname);
    
    if (!isCorrectFormat)
    {
        alert("Incorrect format.");
        textbox.select();
        textbox.focus();
        return false;
    }
    else
    {
        alert("Correct format");
        return true;
    }
    
    if (sRealName == '')
    {
        alert('Error: Username cannot be blank!');
        form.realname.focus();
        return false;
    }
    else if (sRealName.length < 4)
    {
        alert("UserName should be atleast 4 characters long");
        return false;
    }
    
    return true;
 }
    
    function checkEmail(form)   /* for email validation */
    {
        if (/^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/.test(form.email.value))
        {
            return true;
        }
        
         alert('Invalid E-mail Address! Please re-enter.'); 
         return false;
    }
    
    function validatePwd(form)       /* password & retype-password verification */
    {
        var invalid = ' '; 
        minLength = 6;
        var pw1 = form.password.value; 
        var pw2 = form.password2.value;
        
         
        if (pw1 == '' || pw2 == '')
        {
            alert('Please enter your password twice.');
            return false;
        }                                              
        
       
        if (form.password.value.length < minLength)
        {
            alert('Your password must be at least ' + minLength + ' characters long. Try again.');
            return false;
        }                                                                              
        
        if (document.form.password.value.indexOf(invalid) > -1)
        {
            alert('Sorry, spaces are not allowed.');
            return false;
        }
        else
        {
            if (pw1 != pw2)
            {
                alert('You did not enter the same new password twice. Please re-enter your password.');
                return false;
               }
            else
             {
                alert('Passwords Match.');
                   return false;
             } 
                                                                                                       
            return false;                                                                    
        }
    }  
    
    function validPhone(form)          /* phone no validation */
    {
        var valid = '0123456789'; 
        phone = form.phoneno.value;
        
        if (phone == '')
        {
            alert('This field is required. Please enter phone number');
            return false;
        }
        
        if (!phone.length > 1 || phone.length < 10)
        {
            alert('Invalid phone number length! Please try again.');
            return false;
        }
        
        for (var i = 0; i < phone.length; i++)
        {
            temp = '' + phone.substring(i, i + 1);
            
            if (valid.indexOf(temp) == -1)
            {
                alert('Invalid characters in your phone. Please try again.');
                return false;
            }
        }
        
        return true;
    }
    
    function validate()
    {
        var form = document.forms['form'];
        
        if (!checkName(form) || !checkEmail(form) || !validatePwd(form) || !validPhone(form))
        {
            return false;
        }
        
        return true;
    }
</script>
</head>
<body>
 
<form action="" method="post" name="form" onsubmit="return validate()">
    User Name : <input type="text" name="realname" size="19">
    <br>
    E-Mail    : <input type="text" name="email" size="25">
    <br>
    Password  : <input type="password" name="password" maxlength="12" size="25">
    <br>
    Retype password: <input type="password" name="password2" maxlength="12" size="25">
    <br>
    PhoneNo   : <input type="phoneno" name="phoneno" maxlength="10" size="25">
    <br>
    <input type="submit" value="Submit">
</form>
 </body>
</html>

function checkname(form)
if (!checkName(form)

Do you see the difference?

ya got it.but when i enter username like ravi951(valid) it is displaying correct format and another alert message “invalid email address,please re-enter”.
i dont want to display both.

Get rid of the ‘correct format’ message. Did you notice that right now, your code doesn’t check anymore if the username is empty or less than 4 characters? Try it.