Skip to content

JavaScript equivalente Domino functies

november 3, 2009

We hebben in versie 8.5 het probleem met de @Trim-functie, omdat er tussen de woorden geen spaties worden getrimd (versie 8.5). Bart Mutsaers heeft destijds bij AppliGate een JavaScript bibliotheek met equivalente Domino functies opgezet.

N.B. functies die getest zijn:
@trim, @left

//=============
// @Begins
//=============
function begins(fullString, subString)
{
return (fullString.indexOf(subString) == 0)
}  // einde functie begins
//=============
// @Elements
//=============
function elements(anArray)
{
var i = 0
for (var eachValue in anArray)
{
i++
}
return i
} // einde functie elements
//=============
// @Ends
//=============
function ends(fullString, subString)
{
return (fullString.substring(fullString.length - subString.length,
fullString.length).indexOf(subString) == 0)
} // einde functie ends
//=============
// @Left
// 27 aug 2009 getest
//=============
function left(fullString, subString)
{
return(fullString.substring(0, fullString.indexOf(subString)))
} // einde functie left
//=============
// @LeftBack
//=============
function leftBack(fullString, startString)
{
var storeString = fullString;
var position = fullString.indexOf(startString);
var temp = position;
while (position > -1)
{
fullString = fullString.substring(position + 1, fullString.length);
position = fullString.indexOf(startString);
temp = temp + position + 1;
}  // einde while
return (storeString.subString(0, temp))
} // einde functie leftBack
//=============
// @Middle
//=============
function middle(fullString, startString, endString)
{
var startPosition = fullString.indexOf(startString) ;
var startLen = startString.length;
if (startPosition > -1 && startString != "")
{
var temp = fullString.substring (startPosition + startLen, fullString.length);
endPosition = temp.indexOf(endString) + startPosition + startLen;
if (endPosition > -1 && temp,indexOf(endString) > -1)
{
return(fullString.substring(startPosition + startLen, endPosition))
}
else
{
return(fullString.substring(startPosition + startLen, fullString.length))
}
}
else
{
return("");
}
} // einde functie middle
//=============
// @MiddleBack
//=============
function middleBack(fullString, startString, endString)
{
startString += "";
endString += "";
if (startString == "undefined" || endString == "undefined")
{
startString = "";
endString = "";
}
if (fullString.indexOf(startString) > -1 && startString != "" && endString != "")
{
var storeString = fullString;
var position = fullstring.indexOf(startString);
var temp = position;
while (position > -1)
{
fullString = fullString.substring(position + 1, fullString.length);
position = fullString.indexOf(startString);
temp = temp + position + 1;
}
fullString = storeString.substring(0, temp);
if (fullString.indexOf(endString) > -1)
{
storeString = fullString;
position = fullString,indexOf(endString);
temp = position;
while (position > -1)
{
fullString = fullString.substring(position + 1, fullString.length);
position = fullString.indexOf(endString);
temp = temp + position + 1;
}
return(storeString.subString(temp + endString.length, storeString.length))
}
else
{
return(storeString.subString(0,temp))
}
}
else
{
return("");
}
} // einde functie middleBack
//=============
// @Repeat
//=============
function repeat(repeatString, repeatNum, returnNum)
{
var newString = "";
returnNum += "";
if (returnNum == "undefined" || returnNum =="0")
{
returnNum = ""
}
for (var x = 1; x <= parseInt(repeatNum, 10); x++)
{
newString = newString + repeatString;
}
if (returnNum == "")
{
return(newString);
}
else
{
return(newString.substring(0, parseInt(returnNum, 10)));
}
}  // einde functie repeat
//=============
// @ReplaceSubstring
//=============
function replaceSubstring(str, subStr, replStr)
{
var newStr = str;
while (newStr.indexOf(subStr) > -1)
{
newStr = newStr.replace(subStr, replStr);
}
return newStr;
} // einde functie replaceSubstring
//=============
// @Right
// 27 aug 2009 getest
//=============
function right(fullString, subString)
{
fullString += "";
subString += "";
if (subString != "" && fullString != "" && fullString.indexOf(subString) > -1)
{
return (fullString.substring((fullString.indexOf(subString) + subString.length), fullString.length));
}
else
{
return (fullString);
}
} // einde functie right
//=============
// @Rightback
//=============
function rightBack(fullString, startString)
{
startString += "";
var position = fullString.indexOf(startString);
if (startString != "" && position > -1)
{
while (position > -1)
{
fullString = fullString.substring(position + startString.length, fullString.length);
position = fullString.indexOf(startString);
}
return(fullString)
}
else
{
return ("")
}
} // einde functie rightBack
//=============
// @Trim
// 27 aug 2009 getest
//=============
function trim(tekst)
{
//alle dubbele spaties vervangen door 1 spatie
while (tekst.indexOf("  ") > -1)
{
tekst = tekst.replace("  ", " ");
} //einde van de while
// de spatie aan het begin weghalen
if (tekst.indexOf(" ") == 0)
{
tekst = tekst.replace(" ", "");
}
//de spatie aan het eind weghalen
if (tekst.lastIndexOf(" ") == tekst.length - 1)
{
tekst = tekst.substring(0, tekst.length-1);
}
//de nieuwe tekst teruggeven
return tekst;
} //einde functie trim
//=============
// @Word
// Je hebt hier ook de @Elements functie voor nodig!
//=============
function word (fullString, sep, index)
{
index += "";
sep += "";
if (sep == "undefined" || sep == "")
{
sep = " "
}
if (index == "undefined" || index == "0")
{
index = 1
}
var tempArray = fullString.split(sep);
if (parseInt(index, 10) <= elements(tempArray) )
{
return (tempArray[parseInt(index, 10) - 1])
}
else
{
return ("")
}
} // einde functie word

No comments yet

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

%d bloggers op de volgende wijze: