escape.js 482 B

1234567891011121314151617181920
  1. var keys = require('./keys');
  2. exports = function(str) {
  3. return regTest.test(str) ? str.replace(regReplace, replaceFn) : str;
  4. };
  5. var map = (exports.map = {
  6. '&': '&',
  7. '<': '&lt;',
  8. '>': '&gt;',
  9. '"': '&quot;',
  10. "'": '&#x27;',
  11. '`': '&#x60;'
  12. });
  13. var regSrc = '(?:' + keys(map).join('|') + ')';
  14. var regTest = new RegExp(regSrc);
  15. var regReplace = new RegExp(regSrc, 'g');
  16. var replaceFn = function(match) {
  17. return map[match];
  18. };
  19. module.exports = exports;