phpjs
Version:
65 lines (55 loc) • 2.15 kB
Markdown
---
layout: page
title: "JavaScript chr function"
comments: true
sharing: true
footer: true
alias:
- /functions/view/chr:368
- /functions/view/chr
- /functions/view/368
- /functions/chr:368
- /functions/368
---
<!-- Generated by Rakefile:build -->
A JavaScript equivalent of PHP's chr
{% codeblock strings/chr.js lang:js https://raw.github.com/kvz/phpjs/master/functions/strings/chr.js raw on github %}
function chr (codePt) {
// From: http://phpjs.org/functions
// + original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
// + improved by: Brett Zamir (http://brett-zamir.me)
// * example 1: chr(75);
// * returns 1: 'K'
// * example 1: chr(65536) === '\uD800\uDC00';
// * returns 1: true
if (codePt > 0xFFFF) { // Create a four-byte string (length 2) since this code point is high
// enough for the UTF-16 encoding (JavaScript internal use), to
// require representation with two surrogates (reserved non-characters
// used for building other characters; the first is "high" and the next "low")
codePt -= 0x10000;
return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
}
return String.fromCharCode(codePt);
}
{% endcodeblock %}
- [Raw function on GitHub](https://github.com/kvz/phpjs/blob/master/functions/strings/chr.js)
Please note that php.js uses JavaScript objects as substitutes for PHP arrays, they are
the closest match to this hashtable-like data structure.
Please also note that php.js offers community built functions and goes by the
[McDonald's Theory](https://medium.com/what-i-learned-building/9216e1c9da7d). We'll put online
functions that are far from perfect, in the hopes to spark better contributions.
Do you have one? Then please just:
- [Edit on GitHub](https://github.com/kvz/phpjs/edit/master/functions/strings/chr.js)
### Example 1
This code
{% codeblock lang:js example %}
chr(75);
chr(65536) === '\uD800\uDC00';
{% endcodeblock %}
Should return
{% codeblock lang:js returns %}
'K'
true
{% endcodeblock %}
### Other PHP functions in the strings extension
{% render_partial _includes/custom/strings.html %}