Toggle menu
862
3.8K
30.2K
279.1K
Catglobe Wiki
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Force email address: Difference between revisions

From Catglobe Wiki
Cg van (talk | contribs)
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Challenge ==  
== Force email address  ==
You want the respondent to write an e-mail address.  
 
== Example ==
You want the respondent to write an e-mail address.The script needs to validate if a string input is in email address format
<br>
 
[[Image:ValidateEmail.JPG]]
In order to check email address.
<br>
 
== Code ==
As a questionnaire creator
<source lang="javascript" line="1">
 
//function to validate if an email address
I want to validate if a string input is in email address format when the respondent writes an e-mail address.
function isEmail(str)
 
{
'''Example'''
var emailFormat = /^\w(\.?[\w-])*@\w(\.?[\w-])*\.[a-zA-Z]{2,6}(\.[a-zA-Z]{2})?$/i;
 
var emailAdress = str;
[[Image:ValidateEmail.JPG]]  
if(emailAdress.search(emailFormat)==-1)
 
return false;
=== Solution ===
else
*Add a Text grid question to Questionnaire editor like below
return true;
*Go to menu Properties -> Question scripts -> Java script tab -> Input script
}
 
[[Image:ForceEmail Code.jpg]]
 
=== Code  ===


<source lang="javascript">
var normalQuestionCheck = questioncheck;
var normalQuestionCheck = questioncheck;
function extendedQuestionCheck()
function extendedQuestionCheck()
Line 23: Line 27:
var valid = normalQuestionCheck();
var valid = normalQuestionCheck();
   if (valid)  
   if (valid)  
{
{
        // val = email i form
              var val;
                var val;
//The value below is the index value of the sub question where your e-mail question is asked.
//The value below is the index value of the sub question where your e-mail question is asked.
//In this case we use the sub question has index 2  
//In this case we use the sub question has index 2  
  val = document["query"][quest.label + "." + 2].value;
  val = document["query"][quest.label + "." + 2].value;
            if (val.length > 0)
            if (val.length > 0)
valid = isEmail(val);               
valid = validateEmail(val);               
}
}
if (!valid)  
if (!valid)  
{  
{  
Line 39: Line 42:
return true;
return true;
}
}
</source>
questioncheck = extendedQuestionCheck;
</source>  
 
=== Source  ===
 
Questionnaire Resource Id on cg site: 159730

Latest revision as of 09:39, 12 January 2012

Force email address

You want the respondent to write an e-mail address.The script needs to validate if a string input is in email address format

In order to check email address.

As a questionnaire creator

I want to validate if a string input is in email address format when the respondent writes an e-mail address.

Example

Solution

  • Add a Text grid question to Questionnaire editor like below
  • Go to menu Properties -> Question scripts -> Java script tab -> Input script

Code

var normalQuestionCheck = questioncheck;
function extendedQuestionCheck()
{
	 var valid = normalQuestionCheck();
  	 if (valid) 
	 {
      	        var val;
		//The value below is the index value of the sub question where your e-mail question is asked.
		//In this case we use the sub question has index 2 
 		val = document["query"][quest.label + "." + 2].value;
	            	if (val.length > 0)
			valid = validateEmail(val);               
	 }
	 if (!valid) 
	 { 
 	        alert('Wrong email address format');
                return false;
         }
	 return true;
}
questioncheck = extendedQuestionCheck;

Source

Questionnaire Resource Id on cg site: 159730