Child pages
  • Utils

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{hiddendiv:style=display:none}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY (EXCEPT INSIDE THE DIV BELOW WITH ID=DESCRIPTION), UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACTAUTO CHANGESUPDATE FROM THE PAGECONTENT ANDTHROUGH MERGETHE THEM BACK INTO SERVOY SOURCE{hiddenDOC GENERATOR{div}
{sub-sectiondiv:id=description|text=}{sub-sectiondiv}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[String]{td}{td}[#dateFormat]\(date, format)
Format a date object to a text representation.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#getUnicodeCharacter]\(unicodeCharacterNumber)
Returns a string containing the character for the unicode number.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#hasRecords]\(foundset)
Returns true if the (related)foundset exists and has records.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#hasRecords]\(record, relationString)
Returns true if the (related)foundset exists and has records.{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#isMondayFirstDayOfWeek]\()
Returns true when Monday is the first day of the week for your current locale setting.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#numberFormat]\(number, digits)
Format a number to have a defined fraction.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#numberFormat]\(number, format)
Format a number to specification.{td}{tr}{tbody}{tbody}{tr}{td}[Date]{td}{td}[#parseDate]\(date, format)
Parse a string to a date object.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringEscapeMarkup]\(textString)
Returns the escaped markup text (HTML/XML).{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringEscapeMarkup]\(textString, escapeSpaces)
Returns the escaped markup text (HTML/XML).{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringEscapeMarkup]\(textString, escapeSpaces, convertToHtmlUnicodeEscapes)
Returns the escaped markup text (HTML/XML).{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringFormat]\(text_to_format, parameters)
Formats a string according to format specifiers and arguments.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringIndexReplace]\(text, i_start, i_size, replacement_text)
Replaces a portion of a string with replacement text from a specified index.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringInitCap]\(text)
Returns all words starting with capital chars.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringLeft]\(text, i_size)
Returns a string with the requested number of characters, starting from the left.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringLeftWords]\(text, numberof_words)
Returns the number of words, starting from the left.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringMD5HashBase16]\(textString)
Returns the md5 hash (encoded as base16) for specified text.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringMD5HashBase64]\(textString)
Returns the md5 hash (encoded as base64) for specified text.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringMiddle]\(text, i_start, i_size)
Returns a substring from the original string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringMiddleWords]\(text, i_start, numberof_words)
Returns a substring from the original string.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringPBKDF2Hash]\(textString)
Returns the PBKDF2 hash for specified text.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringPBKDF2Hash]\(textString, iterations)
Returns the PBKDF2 hash for specified text.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#stringPatternCount]\(text, toSearchFor)
Returns the number of times searchString appears in textString.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#stringPosition]\(textString, toSearchFor, i_start, i_occurrence)
Returns the position of the string to search for, from a certain start position and occurrence.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringReplace]\(text, search_text, replacement_text)
Replaces a portion of a string with replacement text.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringReplaceTags]\(text, scriptable)
Returns the text with %%tags%% replaced, based on provided record or foundset or form.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringRight]\(text, i_size)
Returns a string with the requested number of characters, starting from the right.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringRightWords]\(text, numberof_words)
Returns the number of words, starting from the right.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#stringToNumber]\(textString)
Filters characters out of from a string and leaves digits, returns the number.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#stringToNumber]\(textString, decimalSeparator)
Filters characters out of from a string and leaves digits, returns the number.{td}{tr}{tbody}{tbody}{tr}{td}[String]{td}{td}[#stringTrim]\(textString)
Returns the string without leading or trailing spaces.{td}{tr}{tbody}{tbody}{tr}{td}[Number]{td}{td}[#stringWordCount]\(text)
Returns the number of words in the text string.{td}{tr}{tbody}{tbody}{tr}{td}[Date]{td}{td}[#timestampToDate]\(date)
Returns a datestamp from the timestamp (sets hours,minutes,seconds and milliseconds to 0).{td}{tr}{tbody}{tbody}{tr}{td}[Boolean]{td}{td}[#validatePBKDF2Hash]\(password, hash)
Validates the given password against the given hash.{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=dateFormat-Date_String|class=node}{tr:id=name}{td}h6.dateFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}dateFormat{span}{span:id=iets|style=float: left;}\(date, format){span}{td}{tr}{builder-show:permission=edit}{tr:id=desprs}{td}{sub-section:dateFormat-Date_String_des|trigger=button|text=}{sub-section}{sub-section:dateFormat-Date_String_des|trigger=none|class=sIndent}Replace with description{sub-section*Parameters*\\{div:class=sIndent}\{[Date]} date -- the date
\{[String]} format -- the format to output
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncret}{td}*SinceReturns*\\{sub-section:dateFormat-Date_String_snc|trigger=button|text=}{sub-section}{sub-section:dateFormat-Date_String_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}[String] -- the date as text{div}{td}{tr}{builder-show}{tr:id=prssam}{td}*ParametersSample*\\{sub-section:dateFormat-Date_String_prs|trigger=button|text=}{sub-section}{sub-section:dateFormat-Date_String_prs|trigger=none|class=sIndent}\{[Date]} date -- the date
\{[String]} format -- the format to output
{sub-sectiondiv:class=sIndent}{code:language=javascript}
var formattedDateString = utils.dateFormat(dateobject,'EEE, d MMM yyyy HH:mm:ss');
{code}{div}{td}{tr}{tr:id=retclass=lastDetailRow}{td}{td}*Returns*\\{sub-section:dateFormat-Date_String_ret|trigger=button|text=}{sub-section}{sub-section:dateFormat-Date_String_ret|trigger=none|class=sIndent}[String] -- the date as text{sub-section}{td}{tr}{builder-show:permission=edit{tr}{tbody}{tbody:id=getUnicodeCharacter-Number}{tr:id=name}{td}h6.getUnicodeCharacter{td}{tr}{tr:id=seesig}{td}*Also see*\\{sub-section:dateFormat-Date_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:dateFormat-Date_String_see|trigger=none}{sub-section}{div{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}getUnicodeCharacter{span}{span}\(unicodeCharacterNumber){span}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkprs}{td}*External linksParameters*\\{sub-section:dateFormat-Date_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:dateFormat-Date_String_link|trigger=none}{sub-section}{\{[Number]} unicodeCharacterNumber -- the number indicating the unicode character
{div}{td}{tr}{builder-show}{tr:id=samret}{td}*SampleReturns*\\{sub-section:dateFormat-Date_String_sam|trigger=button|text=}{sub-section}div:class=sIndent}[String] -- a string containing the unicode character{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{sub-section:dateFormat-Date_String_sam|trigger=none}{code:language=javascript}
//returns a big dot
var formattedDateStringdot = utils.dateFormat(dateobject,'EEE, d MMM yyyy HH:mm:ss'getUnicodeCharacter(9679);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getUnicodeCharacter-Number|class=nodehasRecords-JSFoundSet}{tr:id=name}{td}h6.getUnicodeCharacterhasRecords{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[StringBoolean]{span}{span:id=iets|style=float: left; font-weight: bold;}getUnicodeCharacterhasRecords{span}{span:id=iets|style=float: left;}\(unicodeCharacterNumberfoundset){span}{td}{tr}{builder-show:permission=edit}{tr:id=desprs}{td}{sub-section:getUnicodeCharacter-Number_des|trigger=button|text=}{sub-section}{sub-section:getUnicodeCharacter-Number_des|trigger=none|class=sIndent}Replace with description{sub-section*Parameters*\\{div:class=sIndent}\{[JSFoundSet]} foundset -- the foundset to be tested
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncret}{td}*SinceReturns*\\{sub-section:getUnicodeCharacter-Number_snc|trigger=button|text=}{sub-section}{sub-section:getUnicodeCharacter-Number_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}[Boolean] -- true if exists{div}{td}{tr}{builder-show}{tr:id=prssam}{td}*ParametersSample*\\{sub-section:getUnicodeCharacter-Number_prs|trigger=button|text=}{sub-section}{sub-section:getUnicodeCharacter-Number_prs|trigger=none|class=sIndent}\{[Number]} unicodeCharacterNumber -- the number indicating the unicode character
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getUnicodeCharacter-Number_ret|trigger=button|text=}{sub-section}{sub-section:getUnicodeCharacter-Number_ret|trigger=none|class=sIndent}[String] -- a string containing the unicode character{sub-sectiondiv:class=sIndent}{code:language=javascript}
//test the orders_to_orderitems foundset 
if (elements.customer_id.hasRecords(orders_to_orderitems))
{
	//do work on relatedFoundSet
}
//test the orders_to_orderitems.orderitems_to_products foundset to be reached from the current record 
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
//	//do work on deeper relatedFoundSet
//}
{code}{div}{td}{tr}{builder-showtr:permissionclass=editlastDetailRow}{td}{td}{tr}{tbody}{tbody:id=see}{td}*Also see*\\{sub-section:getUnicodeCharacter-Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getUnicodeCharacter-Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edithasRecords-JSRecord_String}{tr:id=name}{td}h6.hasRecords{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}hasRecords{span}{span}\(record, relationString){span}{td}{tr}{tr:id=linkprs}{td}*External linksParameters*\\{sub-section:getUnicodeCharacter-Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getUnicodeCharacter-Number_link|trigger=none}{sub-section}{div:class=sIndent}\{[JSRecord]} record -- A JSRecord to test.
\{[String]} relationString -- The relation name.
{div}{td}{tr}{builder-show}{tr:id=samret}{td}*SampleReturns*\\{sub-section:getUnicodeCharacter-Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getUnicodeCharacter-Number_sam|trigger=none}{code:language=javascript}
//returns a big dot
var dot = utils.getUnicodeCharacter(9679);
{code}{sub-section}{[Boolean] -- true if the foundset/relation has records.{div}{td}{tr}{tr:classid=lastDetailRowsam}{td}{td}{tr}{tbody}{tbody:id=hasRecords-JSFoundSet|class=node}{tr:id=name}{td}h6.hasRecords{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}hasRecords{span}{span:id=iets|style=float: left;}\(foundset){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:hasRecords-JSFoundSet_des|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_des|trigger=none|class=sIndent}Replace with description{sub-section*Sample*\\{div:class=sIndent}{code:language=javascript}
//test the orders_to_orderitems foundset 
if (elements.customer_id.hasRecords(orders_to_orderitems))
{
	//do work on relatedFoundSet
}
//test the orders_to_orderitems.orderitems_to_products foundset to be reached from the current record 
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
//	//do work on deeper relatedFoundSet
//}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permissionid=editisMondayFirstDayOfWeek}{tr:id=snc}name}{td}h6.isMondayFirstDayOfWeek{td}*Since*\\{sub-section:hasRecords-JSFoundSet_snc|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_snc|trigger=none|class=sIndent} Replace with version info{sub-section{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}isMondayFirstDayOfWeek{span}{span}\(){span}{td}{tr}{builder-show}{tr:id=prsret}{td}*ParametersReturns*\\{sub-section:hasRecords-JSFoundSet_prs|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_prs|trigger=none|class=sIndent}\{[JSFoundSet]} foundset -- the foundset to be tested
{sub-sectiondiv:class=sIndent}[Boolean] -- true if Monday is first day of the week in current locale{div}{td}{tr}{tr:id=retsam}{td}*ReturnsSample*\\{sub-section:hasRecords-JSFoundSet_ret|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSFoundSet_ret|trigger=none|class=sIndent}[Boolean] -- true if exists{sub-sectiondiv:class=sIndent}{code:language=javascript}
if(utils.isMondayFirstDayOfWeek())
{
	//a date calculation
}
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{builder-showtbody:permission=editid=numberFormat-Number_Number}{tr:id=seename}{td}*Also see*\\{sub-section:hasRecords-JSFoundSet_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSFoundSet_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edith6.numberFormat{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}numberFormat{span}{span}\(number, digits){span}{td}{tr}{tr:id=linkprs}{td}*External linksParameters*\\{sub-section:hasRecords-JSFoundSet_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSFoundSet_link|trigger=none}{sub-section}\{[Number]} number -- the number to format
\{[Number]} digits -- nr of digits
{div}{td}{tr}{builder-show}{tr:id=samret}{td}*SampleReturns*\\{sub-section:hasRecords-JSFoundSet_sam|trigger=button|text=}{sub-section}div:class=sIndent}[String] -- the resulting number in text{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{sub-section:hasRecords-JSFoundSet_sam|trigger=none}{code:language=javascript}
//testvar the orders_to_orderitems foundset 
if (elements.customer_id.hasRecords(orders_to_orderitems))
{
	//do work on relatedFoundSet
}
//test the orders_to_orderitems.orderitems_to_products foundset to be reached from the current record 
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
//	//do work on deeper relatedFoundSet
//}
{code}{sub-sectiontextalNumber = utils.numberFormat(16.749, 2); //returns 16.75
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=hasRecordsnumberFormat-JSRecordNumber_String|class=node}{tr:id=name}{td}h6.hasRecordsnumberFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[BooleanString]{span}{span:id=iets|style=float: left; font-weight: bold;}hasRecordsnumberFormat{span}{span:id=iets|style=float: left;}\(recordnumber, relationStringformat){span}{td}{tr}{builder-show:permission=edit}{tr:tr:id=desprs}{td}{sub-section:hasRecords-JSRecord_String_des|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_des|trigger=none|class=sIndent}Replace with description{sub-section*Parameters*\\{div:class=sIndent}\{[Number]} number -- the number to format
\{[String]} format -- the format
{div}{td}{tr}{builder-show}{builder-show:permission=edittr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the resulting number in text{div}{td}{tr}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:hasRecords-JSRecord_String_snc|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}{code:language=javascript}
var textalNumber2 = utils.numberFormat(100006.749, '#,###.00'); //returns 100,006.75
{code}{div}{td}{tr}{builder-show}{tr:id=prsclass=lastDetailRow}{td}{td}*Parameters*\\{sub-section:hasRecords-JSRecord_String_prs|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_prs|trigger=none|class=sIndent}\{[JSRecord]} record -- A JSRecord to test.{tr}{tbody}{tbody:id=parseDate-String_String}{tr:id=name}{td}h6.parseDate{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Date]{span}{span:style=font-weight: bold;}parseDate{span}{span}\(date, format){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} date -- the date as text
\{[String]} relationStringformat -- The relation name.
{sub-sectionthe format to parse the to date
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:hasRecords-JSRecord_String_ret|trigger=button|text=}{sub-section}{sub-section:hasRecords-JSRecord_String_ret|trigger=none|class=sIndent}[Boolean] -- true if the foundset/relation has records.{sub-sectiondiv:class=sIndent}[Date] -- the date as date object{div}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:hasRecords-JSRecord_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSRecord_String_see|trigger=none}{sub-sectioncode:language=javascript}
var parsedDate = utils.parseDate(datestring,'EEE, d MMM yyyy HH:mm:ss');
{code}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:hasRecords-JSRecord_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSRecord_String_link|trigger=none}{sub-section}{divtr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringEscapeMarkup-String}{tr:id=name}{td}h6.stringEscapeMarkup{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringEscapeMarkup{span}{span}\(textString){span}{td}{tr}{builder-show}{tr:id=samprs}{td}*SampleParameters*\\{sub-section:hasRecords-JSRecord_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:hasRecords-JSRecord_String_sam|trigger=none\{[String]} textString -- the text to process
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the escaped text{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//testvar the orders_to_orderitems foundset 
if (elements.customer_id.hasRecords(orders_to_orderitems))
{
	//do work on relatedFoundSet
}
//test the orders_to_orderitems.orderitems_to_products foundset to be reached from the current record 
//if (elements.customer_id.hasRecords(foundset.getSelectedRecord(),'orders_to_orderitems.orderitems_to_products'))
//{
//	//do work on deeper relatedFoundSet
//}
{code}{sub-section}{div}{td}{escapedText = utils.stringEscapeMarkup('<html><body>escape me</body></html>')
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=isMondayFirstDayOfWeek|class=nodestringEscapeMarkup-String_Boolean}{tr:id=name}{td}h6.isMondayFirstDayOfWeekstringEscapeMarkup{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[BooleanString]{span}{span:id=iets|style=float: left; font-weight: bold;}isMondayFirstDayOfWeekstringEscapeMarkup{span}{span:id=iets|style=float: left;}\(textString, escapeSpaces){span}{td}{tr}{builder-show:permission=edit}{tr:id=destr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} textString -- the text to process
\{[Boolean]} escapeSpaces -- indicating to escape spaces
{div}{td}{sub-section:isMondayFirstDayOfWeek_des|trigger=button|text=}{sub-section}{sub-section:isMondayFirstDayOfWeek_des|trigger=none|class=sIndent}Replace with description{sub-sectiontr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the escaped text{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:isMondayFirstDayOfWeek_snc|trigger=button|text=}{sub-section}{sub-section:isMondayFirstDayOfWeek_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}{code:language=javascript}
var escapedText = utils.stringEscapeMarkup('<html><body>escape me</body></html>')
{code}{div}{td}{tr}{builder-show}{builder-show:permission=edittr:class=lastDetailRow}{td}{td}{tr:id=prs}{tdtbody}*Parameters*\\{sub-section:isMondayFirstDayOfWeek_prs|trigger=button|text=}{sub-section}{sub-section:isMondayFirstDayOfWeek_prs|trigger=none|class=sIndent}{sub-section}{tbody:id=stringEscapeMarkup-String_Boolean_Boolean}{tr:id=name}{td}h6.stringEscapeMarkup{td}{tr}{builder-show}{tr:id=retsig}{td}*Returns*\\{sub-section:isMondayFirstDayOfWeek_ret|trigger=button|text=}{sub-section}{sub-section:isMondayFirstDayOfWeek_ret|trigger=none|class=sIndent}[Boolean] -- true if Monday is first day of the week in current locale{sub-section}{td}{tr}{builder-show:permission=edit{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringEscapeMarkup{span}{span}\(textString, escapeSpaces, convertToHtmlUnicodeEscapes){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} textString -- the text to process
\{[Boolean]} escapeSpaces -- indicating to escape spaces
\{[Boolean]} convertToHtmlUnicodeEscapes -- indicating to use unicode escapes
{div}{td}{tr}{tr:id=seeret}{td}*Also seeReturns*\\{sub-section:isMondayFirstDayOfWeek_see|trigger=button|text=}{sub-section}{div:classdiv:class=sIndent}{sub-section:isMondayFirstDayOfWeek_see|trigger=none}{sub-section}[String] -- the escaped text{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksam}{td}*External linksSample*\\{sub-section:isMondayFirstDayOfWeek_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:isMondayFirstDayOfWeek_link|trigger=none}{sub-sectioncode:language=javascript}
var escapedText = utils.stringEscapeMarkup('<html><body>escape me</body></html>')
{code}{div}{td}{tr}{builder-show}{tr:idclass=samlastDetailRow}{td}*Sample*\\{sub-section:isMondayFirstDayOfWeek_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:isMondayFirstDayOfWeek_sam|trigger=none}{code:language=javascript}
if(utils.isMondayFirstDayOfWeek())
{
	//a date calculation
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{{td}{tr}{tbody}{tbody:id=numberFormatstringFormat-Number_Number|class=nodeString_ObjectArray}{tr:id=name}{td}h6.numberFormatstringFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}numberFormatstringFormat{span}{span:id=iets|style=float: left;}\(numbertext_to_format, digitsparameters){span}{td}{tr}{builder-show:permission=edit}{tr:id=desprs}{td}{sub-section:numberFormat-Number_Number_des|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_Number_des|trigger=none|class=sIndent}Replace with description{sub-section*Parameters*\\{div:class=sIndent}\{[String]} text_to_format -- the text to format
\{[Object]\[]} parameters -- the array with parameters
{div}{td}{tr}{builder-show}{builder-show:permission=edittr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the formatted text{div}{td}{tr}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:numberFormat-Number_Number_snc|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:numberFormat-Number_Number_prs|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_Number_prs|trigger=none|class=sIndent}\{[Number]} number -- the number to format
\{[Number]} digits -- nr of digits
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:numberFormat-Number_Number_ret|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_Number_ret|trigger=none|class=sIndent}[String] -- the resulting number in text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:numberFormat-Number_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:numberFormat-Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:numberFormat-Number_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:numberFormat-Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:numberFormat-Number_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:numberFormat-Number_Number_sam|trigger=none}{code:language=javascript}
var textalNumber = utils.numberFormat(16.749, 2); //returns 16.75
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=numberFormat-Number_String|class=node}{tr:id=name}{td}h6.numberFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}numberFormat{span}{span:id=iets|style=float: left;}\(number, format){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:numberFormat-Number_String_des|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:numberFormat-Number_String_snc|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:numberFormat-Number_String_prs|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_String_prs|trigger=none|class=sIndent}\{[Number]} number -- the number to format
\{[String]} format -- the format
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:numberFormat-Number_String_ret|trigger=button|text=}{sub-section}{sub-section:numberFormat-Number_String_ret|trigger=none|class=sIndent}[String] -- the resulting number in text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:numberFormat-Number_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:numberFormat-Number_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:numberFormat-Number_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:numberFormat-Number_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:numberFormat-Number_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:numberFormat-Number_String_sam|trigger=none}{code:language=javascript}
var textalNumber2 = utils.numberFormat(100006.749, '#,###.00'); //returns 100,006.75
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=parseDate-String_String|class=node}{tr:id=name}{td}h6.parseDate{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Date]{span}{span:id=iets|style=float: left; font-weight: bold;}parseDate{span}{span:id=iets|style=float: left;}\(date, format){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:parseDate-String_String_des|trigger=button|text=}{sub-section}{sub-section:parseDate-String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:parseDate-String_String_snc|trigger=button|text=}{sub-section}{sub-section:parseDate-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:parseDate-String_String_prs|trigger=button|text=}{sub-section}{sub-section:parseDate-String_String_prs|trigger=none|class=sIndent}\{[String]} date -- the date as text
\{[String]} format -- the format to parse the to date
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:parseDate-String_String_ret|trigger=button|text=}{sub-section}{sub-section:parseDate-String_String_ret|trigger=none|class=sIndent}[Date] -- the date as date object{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:parseDate-String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parseDate-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:parseDate-String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parseDate-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:parseDate-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parseDate-String_String_sam|trigger=none}{code:language=javascript}
var parsedDate = utils.parseDate(datestring,'EEE, d MMM yyyy HH:mm:ss');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringEscapeMarkup-String|class=node}{tr:id=name}{td}h6.stringEscapeMarkup{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringEscapeMarkup{span}{span:id=iets|style=float: left;}\(textString){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringEscapeMarkup-String_des|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringEscapeMarkup-String_snc|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringEscapeMarkup-String_prs|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringEscapeMarkup-String_ret|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_ret|trigger=none|class=sIndent}[String] -- the escaped text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringEscapeMarkup-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringEscapeMarkup-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringEscapeMarkup-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_sam|trigger=none}{code:language=javascript}
var escapedText = utils.stringEscapeMarkup('<html><body>escape me</body></html>')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringEscapeMarkup-String_Boolean|class=node}{tr:id=name}{td}h6.stringEscapeMarkup{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringEscapeMarkup{span}{span:id=iets|style=float: left;}\(textString, escapeSpaces){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringEscapeMarkup-String_Boolean_des|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringEscapeMarkup-String_Boolean_snc|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringEscapeMarkup-String_Boolean_prs|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
\{[Boolean]} escapeSpaces -- indicating to escape spaces
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringEscapeMarkup-String_Boolean_ret|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_ret|trigger=none|class=sIndent}[String] -- the escaped text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringEscapeMarkup-String_Boolean_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_Boolean_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringEscapeMarkup-String_Boolean_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_Boolean_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringEscapeMarkup-String_Boolean_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_Boolean_sam|trigger=none}{code:language=javascript}
var escapedText = utils.stringEscapeMarkup('<html><body>escape me</body></html>')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringEscapeMarkup-String_Boolean_Boolean|class=node}{tr:id=name}{td}h6.stringEscapeMarkup{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringEscapeMarkup{span}{span:id=iets|style=float: left;}\(textString, escapeSpaces, convertToHtmlUnicodeEscapes){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_des|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringEscapeMarkup-String_Boolean_Boolean_snc|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringEscapeMarkup-String_Boolean_Boolean_prs|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
\{[Boolean]} escapeSpaces -- indicating to escape spaces
\{[Boolean]} convertToHtmlUnicodeEscapes -- indicating to use unicode escapes
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringEscapeMarkup-String_Boolean_Boolean_ret|trigger=button|text=}{sub-section}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_ret|trigger=none|class=sIndent}[String] -- the escaped text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringEscapeMarkup-String_Boolean_Boolean_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringEscapeMarkup-String_Boolean_Boolean_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringEscapeMarkup-String_Boolean_Boolean_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringEscapeMarkup-String_Boolean_Boolean_sam|trigger=none}{code:language=javascript}
var escapedText = utils.stringEscapeMarkup('<html><body>escape me</body></html>')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringFormat-String_ObjectArray|class=node}{tr:id=name}{td}h6.stringFormat{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringFormat{span}{span:id=iets|style=float: left;}\(text_to_format, parameters){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringFormat-String_ObjectArray_des|trigger=button|text=}{sub-section}{sub-section:stringFormat-String_ObjectArray_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringFormat-String_ObjectArray_snc|trigger=button|text=}{sub-section}{sub-section:stringFormat-String_ObjectArray_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringFormat-String_ObjectArray_prs|trigger=button|text=}{sub-section}{sub-section:stringFormat-String_ObjectArray_prs|trigger=none|class=sIndent}\{[String]} text_to_format -- the text to format
\{[Object]\[]} parameters -- the array with parameters
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringFormat-String_ObjectArray_ret|trigger=button|text=}{sub-section}{sub-section:stringFormat-String_ObjectArray_ret|trigger=none|class=sIndent}[String] -- the formatted text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringFormat-String_ObjectArray_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringFormat-String_ObjectArray_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringFormat-String_ObjectArray_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringFormat-String_ObjectArray_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringFormat-String_ObjectArray_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringFormat-String_ObjectArray_sam|trigger=none}{code:language=javascript}
// the  format specifier has the syntax: %[argument_index$][flags][width][.precision]conversion
// argument index is 1$, 2$ ...
// flags is a set of characters that modify the output format
// typical values: '+'(The result will always include a sign), ','(The result will include locale-specific grouping separators)
// width is a non-negative decimal integer indicating the minimum number of characters to be written to the output
// precision is a non-negative decimal integer usually used to restrict the number of characters
// conversion is a character indicating how the argument should be formatted
// typical conversion values: b(boolean), s(string), c(character), d(decimal integer), f(floating number), t(prefix for date and time)
// Date/Time Conversions (used after 't' prefix): 
		// 'H' 	Hour of the day for the 24-hour clock, formatted as two digits with a leading zero as necessary i.e. 00 - 23. 
		// 'I' 	Hour for the 12-hour clock, formatted as two digits with a leading zero as necessary, i.e. 01 - 12. 
		// 'k' 	Hour of the day for the 24-hour clock, i.e. 0 - 23. 
		// 'l' 	Hour for the 12-hour clock, i.e. 1 - 12. 
		// 'M' 	Minute within the hour formatted as two digits with a leading zero as necessary, i.e. 00 - 59. 
		// 'S' 	Seconds within the minute, formatted as two digits with a leading zero as necessary, i.e. 00 - 60 ("60" is a special value required to support leap seconds).
		// 'L' 	Millisecond within the second formatted as three digits with leading zeros as necessary, i.e. 000 - 999.
		// 'p' 	Locale-specific morning or afternoon marker in lower case, e.g."am" or "pm". Use of the conversion prefix 'T' forces this output to upper case. 
		// 'z' 	RFC 822 style numeric time zone offset from GMT, e.g. -0800.
		// 'Z' 	A string representing the abbreviation for the time zone.
		// 'B' 	Locale-specific full month name, e.g. "January", "February".
		// 'b' 	Locale-specific abbreviated month name, e.g. "Jan", "Feb". 
		// 'h' 	Same as 'b'. 
		// 'A' 	Locale-specific full name of the day of the week, e.g. "Sunday", "Monday" 
		// 'a' 	Locale-specific short name of the day of the week, e.g. "Sun", "Mon" 
		// 'C' 	Four-digit year divided by 100, formatted as two digits with leading zero as necessary, i.e. 00 - 99 
		// 'Y' 	Year, formatted as at least four digits with leading zeros as necessary, e.g. 0092 equals 92 CE for the Gregorian calendar. 
		// 'y' 	Last two digits of the year, formatted with leading zeros as necessary, i.e. 00 - 99.
		// 'j' 	Day of year, formatted as three digits with leading zeros as necessary, e.g. 001 - 366 for the Gregorian calendar. 
		// 'm' 	Month, formatted as two digits with leading zeros as necessary, i.e. 01 - 13. 
		// 'd' 	Day of month, formatted as two digits with leading zeros as necessary, i.e. 01 - 31 
		// 'e' 	Day of month, formatted as two digits, i.e. 1 - 31.

		// common compositions for date/time conversion
		// 'R' 	Time formatted for the 24-hour clock as "%tH:%tM" 
		// 'T' 	Time formatted for the 24-hour clock as "%tH:%tM:%tS". 
		// 'r' 	Time formatted for the 12-hour clock as "%tI:%tM:%tS %Tp". The location of the morning or afternoon marker ('%Tp') may be locale-dependent. 
		// 'D' 	Date formatted as "%tm/%td/%ty". 
		// 'F' 	ISO 8601 complete date formatted as "%tY-%tm-%td". 
		// 'c' 	Date and time formatted as "%ta %tb %td %tT %tZ %tY", e.g. "Sun Jul 20 16:17:00 EDT 1969".

utils.stringFormat('%s Birthday: %2$tm %2$te,%2$tY',new Array('My',new Date(2009,0,1))) // returns My Birthday: 01 1,2009
utils.stringFormat('The time is: %1$tH:%1$tM:%1$tS',new Array(new Date(2009,0,1,12,0,0))) // returns The time is: 12:00:00
utils.stringFormat('My %s: %2$.0f, my float: %2$.2f',new Array('integer',10)) // returns My integer: 10, my float: 10.00
utils.stringFormat('Today is: %1$tc',new Array(new Date())) // returns current date/time as:  Today is: Fri Feb 20 14:15:54 EET 2009
utils.stringFormat('Today is: %tF',new Array(new Date())) // returns current date as: Today is: 2009-02-20
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringIndexReplace-String_Number_Number_String|class=node}{tr:id=name}{td}h6.stringIndexReplace{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringIndexReplace{span}{span:id=iets|style=float: left;}\(text, i_start, i_size, replacement_text){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringIndexReplace-String_Number_Number_String_des|trigger=button|text=}{sub-section}{sub-section:stringIndexReplace-String_Number_Number_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringIndexReplace-String_Number_Number_String_snc|trigger=button|text=}{sub-section}{sub-section:stringIndexReplace-String_Number_Number_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringIndexReplace-String_Number_Number_String_prs|trigger=button|text=}{sub-section}{sub-section:stringIndexReplace-String_Number_Number_String_prs|trigger=none|class=sIndent}\{[String]} text -- the text to process
\{[Number]} i_start -- the start index to work from
\{[Number]} i_size -- the size of the text to replace
\{[String]} replacement_text -- the replacement text
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringIndexReplace-String_Number_Number_String_ret|trigger=button|text=}{sub-section}{sub-section:stringIndexReplace-String_Number_Number_String_ret|trigger=none|class=sIndent}[String] -- the changed text string{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringIndexReplace-String_Number_Number_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringIndexReplace-String_Number_Number_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringIndexReplace-String_Number_Number_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringIndexReplace-String_Number_Number_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringIndexReplace-String_Number_Number_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringIndexReplace-String_Number_Number_String_sam|trigger=none}{code:language=javascript}
//returns 'this was a test'
var retval = utils.stringIndexReplace('this is a test',6,2,'was');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringInitCap-String|class=node}{tr:id=name}{td}h6.stringInitCap{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringInitCap{span}{span:id=iets|style=float: left;}\(text){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringInitCap-String_des|trigger=button|text=}{sub-section}{sub-section:stringInitCap-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringInitCap-String_snc|trigger=button|text=}{sub-section}{sub-section:stringInitCap-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringInitCap-String_prs|trigger=button|text=}{sub-section}{sub-section:stringInitCap-String_prs|trigger=none|class=sIndent}\{[String]} text -- the text to process
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringInitCap-String_ret|trigger=button|text=}{sub-section}{sub-section:stringInitCap-String_ret|trigger=none|class=sIndent}[String] -- the changed text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringInitCap-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringInitCap-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringInitCap-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringInitCap-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringInitCap-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringInitCap-String_sam|trigger=none}{code:language=javascript}
//returns 'This Is A Test'
var retval = utils.stringInitCap('This is A test');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringLeft-String_Number|class=node}{tr:id=name}{td}h6.stringLeft{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringLeft{span}{span:id=iets|style=float: left;}\(text, i_size){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringLeft-String_Number_des|trigger=button|text=}{sub-section}{sub-section:stringLeft-String_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringLeft-String_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringLeft-String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringLeft-String_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringLeft-String_Number_prs|trigger=none|class=sIndent}\{[String]} text -- the text to process
\{[Number]} i_size -- the size of the text to return
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringLeft-String_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringLeft-String_Number_ret|trigger=none|class=sIndent}[String] -- the result text string{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringLeft-String_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringLeft-String_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringLeft-String_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringLeft-String_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringLeft-String_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringLeft-String_Number_sam|trigger=none}{code:language=javascript}
//returns 'this i'
var retval = utils.stringLeft('this is a test',6);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringLeftWords-String_Number|class=node}{tr:id=name}{td}h6.stringLeftWords{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringLeftWords{span}{span:id=iets|style=float: left;}\(text, numberof_words){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringLeftWords-String_Number_des|trigger=button|text=}{sub-section}{sub-section:stringLeftWords-String_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringLeftWords-String_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringLeftWords-String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringLeftWords-String_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringLeftWords-String_Number_prs|trigger=none|class=sIndent}\{[String]} text -- to process
\{[Number]} numberof_words -- to return
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringLeftWords-String_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringLeftWords-String_Number_ret|trigger=none|class=sIndent}[String] -- the string with number of words form the left{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringLeftWords-String_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringLeftWords-String_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringLeftWords-String_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringLeftWords-String_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringLeftWords-String_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringLeftWords-String_Number_sam|trigger=none}{code:language=javascript}
//returns 'this is a'
var retval = utils.stringLeftWords('this is a test',3);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringMD5HashBase16-String|class=node}{tr:id=name}{td}h6.stringMD5HashBase16{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringMD5HashBase16{span}{span:id=iets|style=float: left;}\(textString){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringMD5HashBase16-String_des|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase16-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringMD5HashBase16-String_snc|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase16-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringMD5HashBase16-String_prs|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase16-String_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringMD5HashBase16-String_ret|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase16-String_ret|trigger=none|class=sIndent}[String] -- the resulting hashString{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringMD5HashBase16-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMD5HashBase16-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringMD5HashBase16-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMD5HashBase16-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringMD5HashBase16-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMD5HashBase16-String_sam|trigger=none}{code:language=javascript}
var hashed_password = utils.stringMD5HashBase16(user_password)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringMD5HashBase64-String|class=node}{tr:id=name}{td}h6.stringMD5HashBase64{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringMD5HashBase64{span}{span:id=iets|style=float: left;}\(textString){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringMD5HashBase64-String_des|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase64-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringMD5HashBase64-String_snc|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase64-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringMD5HashBase64-String_prs|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase64-String_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringMD5HashBase64-String_ret|trigger=button|text=}{sub-section}{sub-section:stringMD5HashBase64-String_ret|trigger=none|class=sIndent}[String] -- the resulting hashString{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringMD5HashBase64-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMD5HashBase64-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringMD5HashBase64-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMD5HashBase64-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringMD5HashBase64-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMD5HashBase64-String_sam|trigger=none}{code:language=javascript}
var hashed_password = utils.stringMD5HashBase64(user_password)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringMiddle-String_Number_Number|class=node}{tr:id=name}{td}h6.stringMiddle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringMiddle{span}{span:id=iets|style=float: left;}\(text, i_start, i_size){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringMiddle-String_Number_Number_des|trigger=button|text=}{sub-section}{sub-section:stringMiddle-String_Number_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringMiddle-String_Number_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringMiddle-String_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringMiddle-String_Number_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringMiddle-String_Number_Number_prs|trigger=none|class=sIndent}\{[String]} text -- the text to process
\{[Number]} i_start -- the start index to work from
\{[Number]} i_size -- the size of the text to return
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringMiddle-String_Number_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringMiddle-String_Number_Number_ret|trigger=none|class=sIndent}[String] -- the result text string{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringMiddle-String_Number_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMiddle-String_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringMiddle-String_Number_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMiddle-String_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringMiddle-String_Number_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMiddle-String_Number_Number_sam|trigger=none}{code:language=javascript}
//returns 'his'
var retval = utils.stringMiddle('this is a test',2,3);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringMiddleWords-String_Number_Number|class=node}{tr:id=name}{td}h6.stringMiddleWords{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringMiddleWords{span}{span:id=iets|style=float: left;}\(text, i_start, numberof_words){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringMiddleWords-String_Number_Number_des|trigger=button|text=}{sub-section}{sub-section:stringMiddleWords-String_Number_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringMiddleWords-String_Number_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringMiddleWords-String_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringMiddleWords-String_Number_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringMiddleWords-String_Number_Number_prs|trigger=none|class=sIndent}\{[String]} text -- to process
\{[Number]} i_start -- start word index
\{[Number]} numberof_words -- the word count to return
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringMiddleWords-String_Number_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringMiddleWords-String_Number_Number_ret|trigger=none|class=sIndent}[String] -- the string with number of words form the left and{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringMiddleWords-String_Number_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMiddleWords-String_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringMiddleWords-String_Number_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMiddleWords-String_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringMiddleWords-String_Number_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringMiddleWords-String_Number_Number_sam|trigger=none}{code:language=javascript}
//returns 'is a'
var retval = utils.stringMiddleWords('this is a test',2,2);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringPBKDF2Hash-String|class=node}{tr:id=name}{td}h6.stringPBKDF2Hash{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringPBKDF2Hash{span}{span:id=iets|style=float: left;}\(textString){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringPBKDF2Hash-String_des|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringPBKDF2Hash-String_snc|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringPBKDF2Hash-String_prs|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringPBKDF2Hash-String_ret|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_ret|trigger=none|class=sIndent}[String] -- the resulting hashString{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringPBKDF2Hash-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPBKDF2Hash-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringPBKDF2Hash-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPBKDF2Hash-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringPBKDF2Hash-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPBKDF2Hash-String_sam|trigger=none}{code:language=javascript}
var hashed_password = utils.stringPBKDF2Hash(user_password)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringPBKDF2Hash-String_Number|class=node}{tr:id=name}{td}h6.stringPBKDF2Hash{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringPBKDF2Hash{span}{span:id=iets|style=float: left;}\(textString, iterations){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringPBKDF2Hash-String_Number_des|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringPBKDF2Hash-String_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringPBKDF2Hash-String_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_Number_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
\{[Number]} iterations -- how many hash iterations should be done, minimum should be 1000 or higher.
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringPBKDF2Hash-String_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringPBKDF2Hash-String_Number_ret|trigger=none|class=sIndent}[String] -- the resulting hashString{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringPBKDF2Hash-String_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPBKDF2Hash-String_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringPBKDF2Hash-String_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPBKDF2Hash-String_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringPBKDF2Hash-String_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPBKDF2Hash-String_Number_sam|trigger=none}{code:language=javascript}
var hashed_password = utils.stringPBKDF2Hash(user_password,5000)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringPatternCount-String_String|class=node}{tr:id=name}{td}h6.stringPatternCount{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}stringPatternCount{span}{span:id=iets|style=float: left;}\(text, toSearchFor){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringPatternCount-String_String_des|trigger=button|text=}{sub-section}{sub-section:stringPatternCount-String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringPatternCount-String_String_snc|trigger=button|text=}{sub-section}{sub-section:stringPatternCount-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringPatternCount-String_String_prs|trigger=button|text=}{sub-section}{sub-section:stringPatternCount-String_String_prs|trigger=none|class=sIndent}\{[String]} text -- the text to process
\{[String]} toSearchFor -- the string to search for
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringPatternCount-String_String_ret|trigger=button|text=}{sub-section}{sub-section:stringPatternCount-String_String_ret|trigger=none|class=sIndent}[Number] -- the occurrenceCount that the search string is found in the text{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringPatternCount-String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPatternCount-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringPatternCount-String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPatternCount-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringPatternCount-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPatternCount-String_String_sam|trigger=none}{code:language=javascript}
//returns 2 as count
var count = utils.stringPatternCount('this is a test','is');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringPosition-String_String_Number_Number|class=node}{tr:id=name}{td}h6.stringPosition{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}stringPosition{span}{span:id=iets|style=float: left;}\(textString, toSearchFor, i_start, i_occurrence){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringPosition-String_String_Number_Number_des|trigger=button|text=}{sub-section}{sub-section:stringPosition-String_String_Number_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringPosition-String_String_Number_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringPosition-String_String_Number_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringPosition-String_String_Number_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringPosition-String_String_Number_Number_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
\{[String]} toSearchFor -- the string to search
\{[Number]} i_start -- the start index to search from
\{[Number]} i_occurrence -- the occurrence
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringPosition-String_String_Number_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringPosition-String_String_Number_Number_ret|trigger=none|class=sIndent}[Number] -- the position{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:stringPosition-String_String_Number_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPosition-String_String_Number_Number_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringPosition-String_String_Number_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPosition-String_String_Number_Number_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringPosition-String_String_Number_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringPosition-String_String_Number_Number_sam|trigger=none}{code:language=javascript}
//returns 4 as position
var pos = utils.stringPosition('This is a test','s',1,1)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringReplace-String_String_String|class=node}{tr:id=name}{td}h6.stringReplace{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringReplace{span}{span:id=iets|style=float: left;}\(text, search_text, replacement_text){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringReplace-String_String_String_des|trigger=button|text=}{sub-section}{sub-section:stringReplace-String_String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:stringReplace-String_String_String_snc|trigger=button|text=}{sub-section}{sub-section:stringReplace-String_String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{div:class=sIndent}{code:language=javascript}
// the  format specifier has the syntax: %[argument_index$][flags][width][.precision]conversion
// argument index is 1$, 2$ ...
// flags is a set of characters that modify the output format
// typical values: '+'(The result will always include a sign), ','(The result will include locale-specific grouping separators)
// width is a non-negative decimal integer indicating the minimum number of characters to be written to the output
// precision is a non-negative decimal integer usually used to restrict the number of characters
// conversion is a character indicating how the argument should be formatted
// typical conversion values: b(boolean), s(string), c(character), d(decimal integer), f(floating number), t(prefix for date and time)
// Date/Time Conversions (used after 't' prefix): 
		// 'H' 	Hour of the day for the 24-hour clock, formatted as two digits with a leading zero as necessary i.e. 00 - 23. 
		// 'I' 	Hour for the 12-hour clock, formatted as two digits with a leading zero as necessary, i.e. 01 - 12. 
		// 'k' 	Hour of the day for the 24-hour clock, i.e. 0 - 23. 
		// 'l' 	Hour for the 12-hour clock, i.e. 1 - 12. 
		// 'M' 	Minute within the hour formatted as two digits with a leading zero as necessary, i.e. 00 - 59. 
		// 'S' 	Seconds within the minute, formatted as two digits with a leading zero as necessary, i.e. 00 - 60 ("60" is a special value required to support leap seconds).
		// 'L' 	Millisecond within the second formatted as three digits with leading zeros as necessary, i.e. 000 - 999.
		// 'p' 	Locale-specific morning or afternoon marker in lower case, e.g."am" or "pm". Use of the conversion prefix 'T' forces this output to upper case. 
		// 'z' 	RFC 822 style numeric time zone offset from GMT, e.g. -0800.
		// 'Z' 	A string representing the abbreviation for the time zone.
		// 'B' 	Locale-specific full month name, e.g. "January", "February".
		// 'b' 	Locale-specific abbreviated month name, e.g. "Jan", "Feb". 
		// 'h' 	Same as 'b'. 
		// 'A' 	Locale-specific full name of the day of the week, e.g. "Sunday", "Monday" 
		// 'a' 	Locale-specific short name of the day of the week, e.g. "Sun", "Mon" 
		// 'C' 	Four-digit year divided by 100, formatted as two digits with leading zero as necessary, i.e. 00 - 99 
		// 'Y' 	Year, formatted as at least four digits with leading zeros as necessary, e.g. 0092 equals 92 CE for the Gregorian calendar. 
		// 'y' 	Last two digits of the year, formatted with leading zeros as necessary, i.e. 00 - 99.
		// 'j' 	Day of year, formatted as three digits with leading zeros as necessary, e.g. 001 - 366 for the Gregorian calendar. 
		// 'm' 	Month, formatted as two digits with leading zeros as necessary, i.e. 01 - 13. 
		// 'd' 	Day of month, formatted as two digits with leading zeros as necessary, i.e. 01 - 31 
		// 'e' 	Day of month, formatted as two digits, i.e. 1 - 31.

		// common compositions for date/time conversion
		// 'R' 	Time formatted for the 24-hour clock as "%tH:%tM" 
		// 'T' 	Time formatted for the 24-hour clock as "%tH:%tM:%tS". 
		// 'r' 	Time formatted for the 12-hour clock as "%tI:%tM:%tS %Tp". The location of the morning or afternoon marker ('%Tp') may be locale-dependent. 
		// 'D' 	Date formatted as "%tm/%td/%ty". 
		// 'F' 	ISO 8601 complete date formatted as "%tY-%tm-%td". 
		// 'c' 	Date and time formatted as "%ta %tb %td %tT %tZ %tY", e.g. "Sun Jul 20 16:17:00 EDT 1969".

utils.stringFormat('%s Birthday: %2$tm %2$te,%2$tY',new Array('My',new Date(2009,0,1))) // returns My Birthday: 01 1,2009
utils.stringFormat('The time is: %1$tH:%1$tM:%1$tS',new Array(new Date(2009,0,1,12,0,0))) // returns The time is: 12:00:00
utils.stringFormat('My %s: %2$.0f, my float: %2$.2f',new Array('integer',10)) // returns My integer: 10, my float: 10.00
utils.stringFormat('Today is: %1$tc',new Array(new Date())) // returns current date/time as:  Today is: Fri Feb 20 14:15:54 EET 2009
utils.stringFormat('Today is: %tF',new Array(new Date())) // returns current date as: Today is: 2009-02-20
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringIndexReplace-String_Number_Number_String}{tr:id=name}{td}h6.stringIndexReplace{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringIndexReplace{span}{span}\(text, i_start, i_size, replacement_text){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{sub-section:stringReplace-String_String_String_prs|trigger=button|text=}{sub-section}{sub-section:stringReplace-String_String_String_prs|trigger=none|div:class=sIndent}\{[String]} text -- the text to process
\{[StringNumber]} i_start -- the start index to work from
\{[Number]} searchi_textsize -- the stringsize of the text to searchreplace
\{[String]} replacement_text -- the replacement text
{sub-sectiondiv}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringReplace-String_String_String_ret|trigger=button|text=}{sub-section}{sub-section:stringReplace-String_String_String_ret|trigger=none|{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the changed text string{sub-sectiondiv}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:stringReplace-String_String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringReplace-String_String_String_see|trigger=none}{sub-section}{divdiv:class=sIndent}{code:language=javascript}
//returns 'this was a test'
var retval = utils.stringIndexReplace('this is a test',6,2,'was');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permissionid=editstringInitCap-String}{tr:id=linkname}{td}*External links*\\{sub-section:stringReplace-String_String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringReplace-String_String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringReplace-String_String_String_sam|trigger=button|text=}{sub-section}h6.stringInitCap{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringInitCap{span}{span}\(text){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}{sub-section:stringReplace-String_String_String_sam|trigger=none}{code:language=javascript}
//returns 'these are cow 1 and cow 2.'
var retval = utils.stringReplace('these are test 1 and test 2.','test','cow');
{code}{sub-section}{\{[String]} text -- the text to process
{div}{td}{tr}{tr:classid=lastDetailRowret}{td}{td}{tr}{tbody}{tbody:id=stringReplaceTags-String_Object|class=node}{tr:id=name}{td}h6.stringReplaceTags*Returns*\\{div:class=sIndent}[String] -- the changed text{div}{td}{tr}{tr:id=sigsam}{td}*Sample*\\{spandiv:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringReplaceTags{span}{span:id=iets|style=float: left;}\(text, scriptable){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringReplaceTags-String_Object_des|trigger=button|text=}{sub-section}{sub-section:stringReplaceTags-String_Object_des|trigger=none|class=sIndent}Replace with description{sub-sectionclass=sIndent}{code:language=javascript}
//returns 'This Is A Test'
var retval = utils.stringInitCap('This is A test');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permission=editid=stringLeft-String_Number}{tr:id=sncname}{td}*Since*\\{sub-section:stringReplaceTags-String_Object_snc|trigger=button|text=}{sub-section}{sub-section:stringReplaceTags-String_Object_snc|trigger=none|class=sIndent} Replace with version info{sub-section}h6.stringLeft{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringLeft{span}{span}\(text, i_size){span}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringReplaceTags-String_Object_prs|trigger=button|text=}{sub-section}{sub-section:stringReplaceTags-String_Object_prs|trigger=none|div:class=sIndent}\{[String]} text -- the text tags to workprocess
with
\{[ObjectNumber]} scriptable i_size -- the size of the text to return
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the javascript object or foundset,record,form to be used to fill in the tags
{sub-sectionresult text string{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//returns 'this i'
var retval = utils.stringLeft('this is a test',6);
{code}{div}{td}{tr}{tr:id=retclass=lastDetailRow}{td}{td}*Returns*\\{sub-section:stringReplaceTags-String_Object_ret|trigger=button|text=}{sub-section}{sub-section:stringReplaceTags-String_Object_ret|trigger=none|class=sIndent}[String] -- the text with replaced tags{sub-section}{tr}{tbody}{tbody:id=stringLeftWords-String_Number}{tr:id=name}{td}h6.stringLeftWords{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringLeftWords{span}{span}\(text, numberof_words){span}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:stringReplaceTags-String_Object_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringReplaceTags-String_Object_see|trigger=none}{sub-section}\{[String]} text -- to process
\{[Number]} numberof_words -- to return
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringReplaceTags-String_Object_link|trigger=button|text=}{sub-section}tr:id=ret}{td}*Returns*\\{div:class=sIndent}{sub-section:stringReplaceTags-String_Object_link|trigger=none}{sub-section}[String] -- the string with number of words form the left{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringReplaceTags-String_Object_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringReplaceTags-String_Object_sam|trigger=none}{code:language=javascript}
//Next line places a string in variable x, whereby the tag(%%TAG%%) is filled with the value of the database column 'company_name' of the selected record.
var x
//returns 'this is a'
var retval = utils.stringReplaceTags("The companyName of the selected record is %%company_name%% ", foundset)
//var otherExample = utils.stringReplaceTags("The amount of the related order line %%amount%% ", order_to_orderdetails);
//var recordExample = utils.stringReplaceTags("The amount of the related order line %%amount%% ", order_to_orderdetails.getRecord(i);
//Next line places a string in variable y, whereby the tag(%%TAG%%) is filled with the value of the form variable 'x' of the form named 'main'.
//var y = utils.stringReplaceTags("The value of form variable is %%x%% ", forms.main);
//The next sample shows the use of a javascript object
//var obj = new Object();//create a javascript object
//obj['x'] = 'test';//assign an named value
//var y = utils.stringReplaceTags("The value of object variable is %%x%% ", obj);//use the named value in a tag
{code}{sub-sectionstringLeftWords('this is a test',3);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringMD5HashBase16-String}{tr:id=name}{td}h6.stringMD5HashBase16{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringMD5HashBase16{span}{span}\(textString){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} textString -- the text to process
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the resulting hashString{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var hashed_password = utils.stringMD5HashBase16(user_password)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringMD5HashBase64-String}{tr:id=name}{td}h6.stringMD5HashBase64{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringMD5HashBase64{span}{span}\(textString){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} textString -- the text to process
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the resulting hashString{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var hashed_password = utils.stringMD5HashBase64(user_password)
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringRightstringMiddle-String_Number_Number|class=node}{tr:id=name}{td}h6.stringRightstringMiddle{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringRightstringMiddle{span}{span:id=iets|style=float: left;}\(text, i_start, i_size){span}{td}{tr}{builder-showtr:permission=edit}{tr:id=des}{td}{sub-section:stringRight-String_Number_des|trigger=button|text=}{sub-section}{sub-section:stringRight-String_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=editid=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} text -- the text to process
\{[Number]} i_start -- the start index to work from
\{[Number]} i_size -- the size of the text to return
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the result text string{div}{td}{tr}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:stringRight-String_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringRight-String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}{code:language=javascript}
//returns 'his'
var retval = utils.stringMiddle('this is a test',2,3);
{code}{div}{td}{tr}{builder-show}{tr:id=prsclass=lastDetailRow}{td}{td}*Parameters*\\{sub-section:stringRight-String_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringRight{tr}{tbody}{tbody:id=stringMiddleWords-String_Number_prs|trigger=none|class=sIndent}\{[String]} text -- the text to process
\{[Number]} i_size -- the size of the text to return
{sub-section}Number}{tr:id=name}{td}h6.stringMiddleWords{td}{tr}{tr:id=retsig}{td}*Returns*\\{sub-section:stringRight-String_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringRight-String_Number_ret|trigger=none|class=sIndent}[String] -- the result text string{sub-section{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringMiddleWords{span}{span}\(text, i_start, numberof_words){span}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:stringRight-String_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringRight-String_Number_see|trigger=none}{sub-section}\{[String]} text -- to process
\{[Number]} i_start -- start word index
\{[Number]} numberof_words -- the word count to return
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:stringRight-String_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringRight-String_Number_link|trigger=none}{sub-section}{[String] -- the string with number of words form the left and{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringRight-String_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringRight-String_Number_sam|trigger=nonediv:class=sIndent}{code:language=javascript}
//returns 'is a test'
var retval = utils.stringLeftstringMiddleWords('this is a test',2,62);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringRightWordsstringPBKDF2Hash-String_Number|class=node}{tr:id=name}{td}h6.stringRightWordsstringPBKDF2Hash{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringRightWords{span}{span:id=iets|style=float: left;}\(text, numberof_words){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:stringRightWords-String_Number_des|trigger=button|text=}{sub-section}{sub-section:stringRightWords-String_Number_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit{span:style=font-weight: bold;}stringPBKDF2Hash{span}{span}\(textString){span}{td}{tr}{tr:id=sncprs}{td}*SinceParameters*\\{sub-section:stringRightWords-String_Number_snc|trigger=button|text=}{sub-section}{sub-section:stringRightWords-String_Number_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}\{[String]} textString -- the text to process
{div}{td}{tr}{builder-show}{tr:id=prsret}{td}*ParametersReturns*\\{sub-section:stringRightWords-String_Number_prs|trigger=button|text=}{sub-section}{sub-section:stringRightWords-String_Number_prs|trigger=none|div:class=sIndent}\{[String]} text -- tothe process
\{[Number]} numberof_words -- to return
{sub-sectionresulting hashString{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var hashed_password = utils.stringPBKDF2Hash(user_password)
{code}{div}{td}{tr}{tr:id=retclass=lastDetailRow}{td}{td}*Returns*\\{sub-section:stringRightWords}{tr}{tbody}{tbody:id=stringPBKDF2Hash-String_Number_ret|trigger=button|text=}{sub-section}{sub-section:stringRightWords-String_Number_ret|trigger=none|class=sIndent}[String] -- the string with number of words form the right{sub-section}{tr:id=name}{td}h6.stringPBKDF2Hash{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringPBKDF2Hash{span}{span}\(textString, iterations){span}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:stringRightWords-String_Number_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringRightWords-String_Number_see|trigger=none}{sub-section}{\{[String]} textString -- the text to process
\{[Number]} iterations -- how many hash iterations should be done, minimum should be 1000 or higher.
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:stringRightWords-String_Number_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringRightWords-String_Number_link|trigger=none}{sub-section}[String] -- the resulting hashString{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringRightWords-String_Number_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringRightWords-String_Number_sam|trigger=none}{code:language=javascript}
//returns 'is a test'}
var retvalhashed_password = utils.stringRightWords('this is a test',3);stringPBKDF2Hash(user_password,5000)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringToNumberstringPatternCount-String|class=node_String}{tr:id=name}{td}h6.stringToNumberstringPatternCount{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}stringToNumberstringPatternCount{span}{span:id=iets|style=float: left;}\(textStringtext, toSearchFor){span}{td}{tr}{builder-showtr:permission=edit}{tr:id=des}{td}{sub-section:stringToNumber-String_des|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=editid=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} text -- the text to process
\{[String]} toSearchFor -- the string to search for
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Number] -- the occurrenceCount that the search string is found in the text{div}{td}{tr}{tr:id=sncsam}{td}*SinceSample*\\{sub-section:stringToNumber-String_snc|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_snc|trigger=none|class=sIndent} Replace with version info{sub-sectiondiv:class=sIndent}{code:language=javascript}
//returns 2 as count
var count = utils.stringPatternCount('this is a test','is');
{code}{div}{td}{tr}{builder-show}{tr:id=prsclass=lastDetailRow}{td}{td}*Parameters*\\{sub-section:stringToNumber-String_prs|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_prs|trigger=none|class=sIndent}\{[String]} textString -- the text to process
{sub-section}{tr}{tbody}{tbody:id=stringPosition-String_String_Number_Number}{tr:id=name}{td}h6.stringPosition{td}{tr}{tr:id=retsig}{td}*Returns*\\{sub-section:stringToNumber-String_ret|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_ret|trigger=none|class=sIndent}[Number] -- the resulting number{sub-section{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}stringPosition{span}{span}\(textString, toSearchFor, i_start, i_occurrence){span}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:stringToNumber-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringToNumber-String_see|trigger=none}{sub-section}div:class=sIndent}\{[String]} textString -- the text to process
\{[String]} toSearchFor -- the string to search
\{[Number]} i_start -- the start index to search from
\{[Number]} i_occurrence -- the occurrence
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:stringToNumber-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringToNumber-String_link|trigger=none}{sub-section}[Number] -- the position{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringToNumber-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringToNumber-String_sam|trigger=none}{code:language=javascript}
//returns 4 65567as position
var retvalpos = utils.stringToNumber('fg65gf567');stringPosition('This is a test','s',1,1)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringToNumberstringReplace-String_String|class=node_String}{tr:id=name}{td}h6.stringToNumberstringReplace{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[NumberString]{span}{span:id=iets|style=floatfont-weight: left; font-weight: bold;}stringToNumber{span}{span:id=iets|style=float: left;}\(textString, decimalSeparator){spanbold;}stringReplace{span}{span}\(text, search_text, replacement_text){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=sIndent}\{[String]} text -- the text to process
\{[String]} search_text -- the string to search
\{[String]} replacement_text -- the replacement text
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[String] -- the changed text string{div}{td}{tr}{builder-showtr:permission=edit}{tr:id=des}{td}{sub-section:stringToNumber-String_String_des|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_String_des|trigger=none|class=sIndent}Replace with description{sub-sectionid=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
//returns 'these are cow 1 and cow 2.'
var retval = utils.stringReplace('these are test 1 and test 2.','test','cow');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permission=editid=stringReplaceTags-String_Object}{tr:id=snc}name}{td}h6.stringReplaceTags{td}*Since*\\{sub-section:stringToNumber-String_String_snc|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringReplaceTags{span}{span}\(text, scriptable){span}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringToNumber-String_String_prs|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_String_prs|trigger=none|div:class=sIndent}\{[String]} textStringtext -- the text tags to process
\{[String]} decimalSeparator -- decimal separator
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringToNumber-String_String_ret|trigger=button|text=}{sub-section}{sub-section:stringToNumber-String_String_ret|trigger=none|class=sIndent}[Number] -- the resulting number{sub-sectionwork with
\{[Object]} scriptable -- the javascript object or foundset,record,form to be used to fill in the tags
{div}{td}{tr}{builder-show:permission=edit}{tr:id=seeret}{td}*Also seeReturns*\\{sub-section:stringToNumber-String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringToNumber-String_String_see|trigger=none}{sub-section}{[String] -- the text with replaced tags{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:stringToNumber-String_String_link|trigger=button|text=}{sub-section}tr:id=sam}{td}*Sample*\\{div:class=sIndent}{sub-section:stringToNumber-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:stringToNumber-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringToNumber-String_String_sam|trigger=none}{code:language=javascript}
//returns 65.567
var retval = utils.stringToNumber('fg65gf.567','.');
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringTrim-String|class=node}{tr:id=name}{td}h6.stringTrim{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[String]{span}{span:id=iets|style=float: left; font-weight: bold;}stringTrim{span}{span:id=iets|style=float: left;}\(textString){spancode:language=javascript}
//Next line places a string in variable x, whereby the tag(%%TAG%%) is filled with the value of the database column 'company_name' of the selected record.
var x = utils.stringReplaceTags("The companyName of the selected record is %%company_name%% ", foundset)
//var otherExample = utils.stringReplaceTags("The amount of the related order line %%amount%% ", order_to_orderdetails);
//var recordExample = utils.stringReplaceTags("The amount of the related order line %%amount%% ", order_to_orderdetails.getRecord(i);
//Next line places a string in variable y, whereby the tag(%%TAG%%) is filled with the value of the form variable 'x' of the form named 'main'.
//var y = utils.stringReplaceTags("The value of form variable is %%x%% ", forms.main);
//The next sample shows the use of a javascript object
//var obj = new Object();//create a javascript object
//obj['x'] = 'test';//assign an named value
//var y = utils.stringReplaceTags("The value of object variable is %%x%% ", obj);//use the named value in a tag
{code}{div}{td}{tr}{builder-showtr:permissionclass=editlastDetailRow}{tr:id=destd}{td}{sub-section:stringTrim-String_des|trigger=button|text=}{sub-section}{sub-section:stringTrim-String_des|trigger=none|class=sIndent}Replace with description{sub-section}tr}{tbody}{tbody:id=stringRight-String_Number}{tr:id=name}{td}h6.stringRight{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsig}{td}*Since*\\{sub-section:stringTrim-String_snc|trigger=button|text=}{sub-section}{sub-section:stringTrim-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringRight{span}{span}\(text, i_size){span}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringTrim-String_prs|trigger=button|text=}{sub-section}{sub-section:stringTrim-String_prs|trigger=none|div:class=sIndent}\{[String]} textStringtext -- the text to process
{sub-section\{[Number]} i_size -- the size of the text to return
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringTrim-String_ret|trigger=button|text=}{sub-section}{sub-section:stringTrim-String_ret|trigger=none|\{div:class=sIndent}[String] -- the resultingresult trimmedtext string{sub-sectiondiv}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:stringTrim-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringTrim-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=editdiv:class=sIndent}{code:language=javascript}
//returns 'a test'
var retval = utils.stringLeft('this is a test',6);
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringRightWords-String_Number}{tr:id=name}{td}h6.stringRightWords{td}{tr}{tr:id=linksig}{td}*External links*\\{sub-section:stringTrim-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringTrim-String_link|trigger=none}{sub-section}{div{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringRightWords{span}{span}\(text, numberof_words){span}{td}{tr}{builder-show}{tr:id=samprs}{td}*SampleParameters*\\{sub-section:stringTrim-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringTrim-String_sam|trigger=none}{code:language=javascript}
//returns 'text'
var retval = utils.stringTrim('   text   ');
{code}{sub-section}\{[String]} text -- to process
\{[Number]} numberof_words -- to return
{div}{td}{tr}{tr:classid=lastDetailRowret}{td}{td}{tr}{tbody}{tbody:id=stringWordCount-String|class=node}{tr:id=name*Returns*\\{div:class=sIndent}[String] -- the string with number of words form the right{div}{td}h6.stringWordCount{td}{tr}{tr:id=sigsam}{td}*Sample*\\{spandiv:style=float: left; margin-right: 5px;}[Number]{span}{span:id=iets|style=float: left; font-weight: bold;}stringWordCount{span}{span:id=iets|style=float: left;}\(text){span}{class=sIndent}{code:language=javascript}
//returns 'is a test'
var retval = utils.stringRightWords('this is a test',3);
{code}{div}{td}{tr}{builder-showtr:permissionclass=editlastDetailRow}{tr:id=destd}{td}{sub-section:stringWordCount-String_des|trigger=button|text=}{sub-section}{sub-section:stringWordCount-String_des|trigger=none|class=sIndent}Replace with description{sub-section}tr}{tbody}{tbody:id=stringToNumber-String}{tr:id=name}{td}h6.stringToNumber{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsig}{td}*Since*\\{sub-section:stringWordCount-String_snc|trigger=button|text=}{sub-section}{sub-section:stringWordCount-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}stringToNumber{span}{span}\(textString){span}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:stringWordCount-String_prs|trigger=button|text=}{sub-section}{sub-section:stringWordCount-String_prs|trigger=none|div:class=sIndent}\{[String]} texttextString -- the text to process
{sub-sectiondiv}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:stringWordCount-String_ret|trigger=button|text=}{sub-section}{sub-section:stringWordCount-String_ret|trigger=none|div:class=sIndent}[Number] -- the wordresulting countnumber{sub-sectiondiv}{td}{tr}{builder-show:permission=edit}{tr:id=seesam}{td}*Also seeSample*\\{sub-section:stringWordCount-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringWordCount-String_see|trigger=none}{sub-section}{div}{div:class=sIndent}{code:language=javascript}
//returns 65567
var retval = utils.stringToNumber('fg65gf567');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{builder-showtbody}{builder-showtbody:permission=editid=stringToNumber-String_String}{tr:id=link}name}{td}h6.stringToNumber{td}*External links*\\{sub-section:stringWordCount-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringWordCount-String_link|trigger=none}{sub-section}{div{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}stringToNumber{span}{span}\(textString, decimalSeparator){span}{td}{tr}{builder-show}{tr:id=samprs}{td}*SampleParameters*\\{sub-section:stringWordCount-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:stringWordCount-String_sam|trigger=none}{code:language=javascript}
//returns '4' as result
var retval = utils.stringWordCount('this is a test');
{code}{sub-section}\{[String]} textString -- the text to process
\{[String]} decimalSeparator -- decimal separator
{div}{td}{tr}{tr:classid=lastDetailRowret}{td}{td}{tr}{tbody}{tbody:id=timestampToDate-Date|class=node}{tr:id=name}{td}h6.timestampToDate*Returns*\\{div:class=sIndent}[Number] -- the resulting number{div}{td}{tr}{tr:id=sigsam}{td}*Sample*\\{spandiv:style=float: left; margin-right: 5px;}[Date]{span}{span:id=iets|style=float: left; font-weight: bold;}timestampToDate{span}{span:id=iets|style=float: left;}\(date){spanclass=sIndent}{code:language=javascript}
//returns 65.567
var retval = utils.stringToNumber('fg65gf.567','.');
{code}{div}{td}{tr}{builder-show:permission=edit}{tr:idclass=deslastDetailRow}{td}{sub-section:timestampToDate-Date_des|trigger=button|text=}{sub-section}{sub-section:timestampToDate-Date_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-showtbody}{builder-showtbody:permissionid=editstringTrim-String}{tr:id=sncname}{td}*Since*\\{sub-section:timestampToDate-Date_snc|trigger=button|text=}{sub-section}{sub-section:timestampToDate-Date_snc|trigger=none|class=sIndent} Replace with version info{sub-section}h6.stringTrim{td}{tr}{builder-show}{tr:id=prssig}{td}*Parameters*\\{sub-section:timestampToDate-Date_prs|trigger=button|text=}{sub-section}{sub-section:timestampToDate-Date_prs|trigger=none|class=sIndent}\{[Date]} date -- object to be stripped from its time elements
{sub-section{span:style=margin-right: 5px;}[String]{span}{span:style=font-weight: bold;}stringTrim{span}{span}\(textString){span}{td}{tr}{tr:id=retprs}{td}*ReturnsParameters*\\{sub-section:timestampToDate-Date_ret|trigger=button|text=}{sub-section}{sub-section:timestampToDate-Date_ret|trigger=none|div:class=sIndent}\{[DateString]} textString -- the text strippedto dateprocess
object{sub-sectiondiv}{td}{tr}{builder-show:permission=edit}{tr:id=seeret}{td}*Also seeReturns*\\{sub-section:timestampToDate-Date_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:timestampToDate-Date_see|trigger=none}{sub-section}[String] -- the resulting trimmed string{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linksam}{td}*External linksSample*\\{sub-section:timestampToDate-Date_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:timestampToDate-Date_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show{div:class=sIndent}{code:language=javascript}
//returns 'text'
var retval = utils.stringTrim('   text   ');
{code}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=stringWordCount-String}{tr:id=samname}{td}*Sample*\\{sub-section:timestampToDate-Date_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:timestampToDate-Date_sam|trigger=none}{code:language=javascript}
var date = utils.timestampToDate(application.getTimeStamp());
{code}{sub-section}{div}h6.stringWordCount{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Number]{span}{span:style=font-weight: bold;}stringWordCount{span}{span}\(text){span}{td}{tr}{tr:id=prs}{td}*Parameters*\\{div:class=lastDetailRowsIndent}{td\{[String]} text -- the text to process
{div}{td}{tr}{tbody}{tbodytr:id=validatePBKDF2Hash-String_String|class=node}{tr:id=name}{td}h6.validatePBKDF2Hashret}{td}*Returns*\\{div:class=sIndent}[Number] -- the word count{div}{td}{tr}{tr:id=sigsam}{td}*Sample*\\{spandiv:style=float: left; margin-right: 5px;}[Boolean]{span}{span:id=iets|style=float: left; font-weight: bold;}validatePBKDF2Hash{span}{span:id=iets|style=float: left;}\(password, hash){span}{class=sIndent}{code:language=javascript}
//returns '4' as result
var retval = utils.stringWordCount('this is a test');
{code}{div}{td}{tr}{builder-showtr:permission=editclass=lastDetailRow}{td}{td}{tr:id=des}{tdtbody}{sub-section:validatePBKDF2Hash-String_String_des|trigger=button|text=}{sub-section}{sub-section:validatePBKDF2Hash-String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}tbody:id=timestampToDate-Date}{tr:id=name}{td}h6.timestampToDate{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=sncsig}{td}*Since*\\{sub-section:validatePBKDF2Hash-String_String_snc|trigger=button|text=}{sub-section}{sub-section:validatePBKDF2Hash-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section{span:style=margin-right: 5px;}[Date]{span}{span:style=font-weight: bold;}timestampToDate{span}{span}\(date){span}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:validatePBKDF2Hash-String_String_prs|trigger=button|text=}{sub-section}{sub-section:validatePBKDF2Hash-String_String_prs|trigger=none|div:class=sIndent}\{[StringDate]} passworddate -- the password to test against
\{[String]} hashobject to be stripped from its time elements
{div}{td}{tr}{tr:id=ret}{td}*Returns*\\{div:class=sIndent}[Date] -- the hashstripped the password needs to validate to.
{sub-sectiondate object{div}{td}{tr}{tr:id=sam}{td}*Sample*\\{div:class=sIndent}{code:language=javascript}
var date = utils.timestampToDate(application.getTimeStamp());
{code}{div}{td}{tr}{tr:id=retclass=lastDetailRow}{td}{td}*Returns*\\{sub-section:}{tr}{tbody}{tbody:id=validatePBKDF2Hash-String_String_ret|trigger=button|text=}{sub-section}{sub-section:validatePBKDF2Hash-String_String_ret|trigger=none|class=sIndent}[Boolean] -- true if his hash is valid for that password{sub-section}{tr:id=name}{td}h6.validatePBKDF2Hash{td}{tr}{tr:id=sig}{td}{span:style=margin-right: 5px;}[Boolean]{span}{span:style=font-weight: bold;}validatePBKDF2Hash{span}{span}\(password, hash){span}{td}{tr}{builder-show:permission=edit}{tr:id=seeprs}{td}*Also seeParameters*\\{sub-section:validatePBKDF2Hash-String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:validatePBKDF2Hash-String_String_see|trigger=none}{sub-section}\{[String]} password -- the password to test against
\{[String]} hash -- the hash the password needs to validate to.
{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=linkret}{td}*External linksReturns*\\{sub-section:validatePBKDF2Hash-String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:validatePBKDF2Hash-String_String_link|trigger=none}{sub-section}{[Boolean] -- true if his hash is valid for that password{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:validatePBKDF2Hash-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:validatePBKDF2Hash-String_String_sam|trigger=none}{code:language=javascript}
if (utils.validatePBKDF2Hash(user_password, hashFromDb)) {
   // logged in 
}
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}