아이폰 μ²œμ§€μΈ ν‚€λ³΄λ“œ 이슈 (α„‹α†ž, α„‹α†’ λŒ€μ‘)

아이폰 μ²œμ§€μΈ ν‚€λ³΄λ“œμ—μ„œ "μœ μš”" λΌλŠ” κΈ€μžλ₯Ό μž…λ ₯ν•  λ•Œ, "육" -> "μœ α„‹α†ž" -> "μœ α„‹α†’" μ΄λ ‡κ²Œ μž…λ ₯이 λ˜λŠ”λ° ν•œκΈ€λ§Œ λŒ€μ‘ν•˜κΈ° μœ„ν•΄ λ„£μ–΄λ‘μ—ˆλ˜ regex κ°€ λ™μž‘ν•˜λ©΄μ„œ κΈ€μžλ₯Ό μ§€μ›Œλ²„λ¦¬λŠ” μ΄μŠˆκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

 

[κΈ°μ‘΄ Regex]

return target.replace(/[^κ°€-νž£γ†α†žα†’γ„±-γ…Žγ…-γ…£a-zA-Z\s]/g, '');

ν•œκΈ€, μ˜μ–΄κ°€ μ•„λ‹Œ λ¬ΈμžλŠ” μ œκ±°ν•˜κΈ° μœ„ν•œ regex μž…λ‹ˆλ‹€.

 

[이슈 원인] 

μ’…μ„± 자음과 γ†α†žα†’ 같은 μ²¨μžκ°€ ν•©μ³μ§€λ©΄μ„œ μƒˆλ‘œμš΄ μœ λ‹ˆμ½”λ“œ 문자λ₯Ό λ§Œλ“­λ‹ˆλ‹€.

 

[λ³€κ²½λœ Regex]

/**
* 아이폰 μ²œμ§€μΈμ„ λŒ€μ‘ν•©λ‹ˆλ‹€.
* \u1100-\u1112 자음 γ„±-γ…Ž
* \u318D\u119E\u11A2\u2022\u2025\u00B7\uFE55 - γ†α†žα†’•β€₯·οΉ•
*/
return target.replace(/[^κ°€-νž£γ„±-γ…Žγ…-γ…£a-zA-Z\u1100-\u1112\u318D\u119E\u11A2\u2022\u2025\u00B7\uFE55\s]/g, '');

 

μ’…μ„± 자음과 α†’κ°€ λ§Œλ‚  λ•Œλ₯Ό λŒ€μ‘ν•΄μ€λ‹ˆλ‹€.

λ°˜μ‘ν˜•