字符串转数组首选split(''),但Unicode字符需用[...str]或Array.from();查子串按需选includes()、indexOf()或search();替换用replaceAll()更安全;trimStart()/trimEnd()注意兼容性。

字符串转数组用 split(),但别忘了分隔符为空时的特殊行为
想把字符串按字符拆开?split('') 最直接。但要注意:split('') 在遇到 Unicode 组合字符(比如带重音符号的字母、emoji)时可能切错位置;更稳妥的是用扩展运算符 [...str] 或 Array.from(str)。
-
str.split(''):适合 ASCII 字符为主的场景,简单快 -
[...str]:能正确处理大多数 emoji 和组合字符(如'é'、'??') -
str.split(/(?=.)/u):正则加u标志也能可靠分割,但性能略低
查找子串用 includes()、indexOf()、search(),选哪个看需求
includes() 返回布尔值,语义清晰,推荐用于“是否存在”的判断;indexOf() 返回索引,适合需要定位位置的场景;search() 支持正则,但不支持全局标志 g,且不返回匹配内容。
- 只关心“有没有”:优先用
str.includes('foo') - 要找第一次出现的位置:用
str.indexOf('foo')(比search()快,无正则开销) - 要匹配模式(比如邮箱前缀、数字块):用
str.search(/\d+/),但注意它只返回首个匹配索引 - 别用
search()替代match()——它不返回捕获组,也无视g标志
替换文本别只用 replace(),replaceAll() 才是批量替换的正确选择
replace() 默认只换第一个匹配项,即使传了正则也得手动加 g 标志;而 replaceAll() 对字符串参数自动全局替换,对正则则要求必须带 g,否则报错——这是有意设计的安全限制。
动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包
- 替换所有
'a':用str.replaceAll('a', 'b'),比str.replace(/a/g, 'b')更直观 - 正则替换必须带
g:str.replaceAll(/a/g, 'b')✅,str.replaceAll(/a/, 'b')❌(抛TypeError) - 旧环境没
replaceAll()?用str.replace(/a/g, 'b')是等效降级方案
trim() 系列方法看似简单,但 trimStart() 和 trimEnd() 兼容性容易被忽略
trim() 基本全平台支持;但 trimStart() 和 trimEnd() 在 IE 完全不支持,Safari 12–14 也不支持 trimEnd()(它叫 trimRight())。如果目标环境较老,要么用 polyfill,要么退回到 trimLeft()/trimRight()(已废弃但兼容性更好)。
立即学习“Java免费学习笔记(深入)”;
- 现代项目(≥ Safari 15 / Chrome 66):放心用
trimStart()和trimEnd() - 需兼容旧浏览器:用
str.trimLeft()和str.trimRight(),或写正则str.replace(/^\s+/, '') -
trim()不处理全角空格、 等 Unicode 空白符,需要时得自己扩展正则
split('') 中的行为都可能埋雷。动手前先确认你的字符串内容特征和运行环境。









