Pro JavaScript není mezera jako mezera

Pokud používáte v JavaScriptu regulární výrazy pro práci s řetězci, můžete se setkat s podivnými odlišnostmi implementace metaznaku s (whitespace – mezery, tabelátory apod.). Všechny prohlížeče správně vyhodnotí znaky jako U+0020 (mezera), U+000A (LF) nebo U+000B (vertikální tabulátor). Co je překvapivější, tak některé prohlížeče (Safari do verze 3.2.1, IE 6–8) do s nezapočítají nerozdělitelnou mezeru U+00A0. V tom, jak vyhodnocují znaky nad U+2000, kde se vyskytují různé tenké mezery, vlasové mezery, čtvrtčtverčíkové mezery, „em“ a „en“ mezery a další, panuje už naprostý chaos. Přehledně se touto problematikou zabývá článek Whitespace deviations.

Začal programovat v roce 1984 s programovatelnou kalkulačkou. Pokračoval k BASICu, assembleru Z80, Forthu, Pascalu, Céčku, dalším assemblerům, před časem v PHP a teď by rád neprogramoval a radši se věnoval starým počítačům.

Komentáře: 1

Přehled komentářů

Daniel Steigerwald Nejen Whitespace
Zdroj: https://www.zdrojak.cz/?p=960