Javascript Course

Here is a function that can be used to replace JavaScript variable name (object property, or array element) from string with its associated value defined in JavaScript, using RegExp.
// Function that replace token from string with equivalent variable value
// Receives the string-template. Returns that string with variable names replaced
function replaceStrVar(str){
 // JavaScript & jQuery Courses - https://coursesweb.net/javascript/
  str = str.replace(/%(.*?)%/gi, function(a,b) {
    // if token is an array item, else, is object property, or variable
    if(b.match(/[a-z0-9_]+\[[a-z0-9_]+\]/i)) {
      var arritm = b.match(/([a-z0-9_]+)\[([a-z0-9_]+)\]/i);      // gets an array with the matched items
      return window[arritm[1]][arritm[2]];
    }
    else {
      var voitm = b.split('.');
      return (voitm.length == 2) ? window[voitm[0]][voitm[1]] : window[voitm[0]];
    }
  });

  return str;
}
- The names for variable /array /object.property in the string must be added within %...% .

This function can be used to create a simple template-string in JavaScript.

Here's an example of replaceStrVar() function usage, using a variable, an array, and object, and a string (template) with their names that will be replaced with their values and the result is added into a HTML element.
<div id="testpl">String Template:<br/><span class="sbi">The website: &lt;b&gt;%website%&lt;/b&gt; contains: %obj.content1%, and it has around &lt;b&gt;%visits[2]%&lt;/b&gt; uniques visitors /day.</span></div>
<button onclick="testpl()">Test replaceStrVar()</button>

<script type="text/javascript"><!--
// Function that replace token from string with equivalent variable value
function replaceStrVar(str){
 // JavaScript & jQuery Courses - https://coursesweb.net/javascript/
  str = str.replace(/%(.*?)%/gi, function(a,b) {
    // if token is an array item, else, is object property, or variable
    if(b.match(/[a-z0-9_]+\[[a-z0-9_]+\]/i)) {
      var arritm = b.match(/([a-z0-9_]+)\[([a-z0-9_]+)\]/i);      // gets an array with the matched items
      return window[arritm[1]][arritm[2]];
    }
    else {
      var voitm = b.split('.');
      return (voitm.length == 2) ? window[voitm[0]][voitm[1]] : window[voitm[0]];
    }
  });

  return str;
}

  /* Test replaceStrVar() function */

var website = 'https://coursesweb.net';      // simple variable
var visits = new Array(100, 1000, 2000);        // array

// object
var obj = new Object();
 obj.content1 = 'Web Programming Courses';
 obj.content2 = 'Web Development Tutorials';

// The string (template)
var tpl = 'The website: <b>%website%</b> contains: %obj.content1%, and it has around <b>%visits[2]%</b> uniques visitors /day.';

// adds the replacement in #testpl HTML element
function testpl(){
  document.getElementById('testpl').innerHTML = replaceStrVar(tpl);
}
//-->
</script>
Results:
String Template:
The website: <b>%website%</b> contains: %obj.content1%, and it has around <b>%visits[2]%</b> uniques visitors /day.
- To see the result, click ->

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which HTML5 tag is indicated to be used as container for menu with navigation links in Web site?
<section> <nav> <article>
<nav><ul>
 <li><a href="http://coursesweb.net/css/" title="CSS Course">CSS Course</a></li>
 <li><a href="http://www.marplo.net/jocuri/" title="Flash Games">Flash Games</a></li>
</ul></nav>
Which CSS property shifts an item horizontally to the left or right of where it was?
text-align clear float
.some_class {
  width: 30%;
  float: left;
}
Click on the Math object method which returns x, rounded downwards to the nearest integer.
Math.ceil(x) Math.abs(x) Math.floor(x)
var num = 12.34567;
num = Math.floor(num);
alert(num);       // 12
Indicate the PHP function which returns the number of characters in string.
mb_strlen() count() stristr()
$str = "string with utf-8 chars åèö";
$nrchr = mb_strlen($str);
echo $nrchr;        // 30
Replace JavaScript variable name from string with its value

Last accessed pages

  1. Refresh page if window width changes from a device size to other (565)
  2. JavaScript code and PHP (34151)
  3. Wake Up! (11270)
  4. Select in MySQL, Output results in HTML Table (16001)
  5. Contact page - CoursesWeb (48293)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (520)
  2. PHP Unzipper - Extract Zip, Rar Archives (421)
  3. SHA256 Encrypt hash in JavaScript (402)
  4. Read Excel file data in PHP - PhpExcelReader (360)
  5. Create simple Website with PHP (332)