Checks if the provided answer is in the following format: 00,00. The maximum value is 99,99.
//surveyscripting.com
function PercentageDecimal(qid)
{
var sText = f(qid).get();
var ValidChars = "0123456789,";
var Char : String = '';
var comma : int = 0;
var predi : int = 0;
var broq : int = 0;
var test : Boolean = true;
var IsNumber = true;
if (sText != '100' ) {
for (var i = 0; i < sText.length; i++)
{
Char = sText.charAt(i);
if ( test == false ) { broq++; }
if ( Char == ',' ) { comma++; test = false; }
if ( test == true ) { predi++; }
}
if ((predi < 0 || predi > 2) || (broq < 0 || broq > 2) || comma > 1)
{
RaiseError();
SetQuestionErrorMessage(CurrentLang(), 'Please verify your answers.');
}
if (broq < 0 || broq > 99)
{
RaiseError();
SetQuestionErrorMessage(CurrentLang(), 'Please verify your answers.');
}
if (comma > 1)
{
RaiseError();
SetQuestionErrorMessage(CurrentLang(), 'Please verify your answers.');
}
else
{
for (var i = 0; i < sText.length && IsNumber == true; i++)
{
Char = sText.charAt(i);
if (ValidChars.indexOf(Char) == -1)
{
IsNumber = false;
RaiseError();
SetQuestionErrorMessage(CurrentLang(),
'Please use only numbers and "," for a decimal character.');
}
}
}
}
}