2.3 KiB
2.3 KiB
id, challengeType, title
id | challengeType | title |
---|---|---|
a6b0bb188d873cb2c8729495 | 5 | 转换HTML实体 |
Description
&
、<
、>
、"
(双引号)和'
(单引号)。
Instructions
Tests
tests:
- text: "<code>convertHTML('Dolce & Gabbana')</code>应该返回<code>Dolce &​amp; Gabbana</code>。"
testString: assert.match(convertHTML("Dolce & Gabbana"), /Dolce & Gabbana/);
- text: "<code>convertHTML('Hamburgers < Pizza < Tacos')</code>应该返回<code>Hamburgers &​lt; Pizza &​lt; Tacos</code>。"
testString: assert.match(convertHTML("Hamburgers < Pizza < Tacos"), /Hamburgers < Pizza < Tacos/);
- text: "<code>convertHTML('Sixty > twelve')</code>应该返回<code>Sixty &​gt; twelve</code>。"
testString: assert.match(convertHTML("Sixty > twelve"), /Sixty > twelve/);
- text: "<code>convertHTML('Stuff in \"quotation marks\"')</code>应该返回<code>Stuff in &​quot;quotation marks&​quot;</code>。"
testString: assert.match(convertHTML('Stuff in "quotation marks"'), /Stuff in "quotation marks"/);
- text: "<code>convertHTML('Schindler's List')</code>应该返回<code>Schindler&​apos;s List</code>。"
testString: assert.match(convertHTML("Schindler's List"), /Schindler's List/);
- text: "<code>convertHTML('<>')</code>应该返回<code>&​lt;&​gt;</code>。"
testString: assert.match(convertHTML('<>'), /<>/);
- text: "<code>convertHTML('abc')</code>应该返回<code>abc</code>。"
testString: assert.strictEqual(convertHTML('abc'), 'abc');
Challenge Seed
function convertHTML(str) {
// :)
return str;
}
convertHTML("Dolce & Gabbana");
Solution
var MAP = { '&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": '''};
function convertHTML(str) {
return str.replace(/[&<>"']/g, function(c) {
return MAP[c];
});
}