实用JavaScript自定义函数100例:基础操作与技巧

0 下载量 157 浏览量 更新于2024-07-15 收藏 144KB PDF 举报
本文档提供了一系列实用的JavaScript自定义函数,涵盖了字符串处理、URL解析、空格清理、文本替换以及HTML标签编码与还原等多个核心操作。以下是一些关键知识点的详细解释: 1. **字符串长度截取**: `cutstr` 函数用于在原生JavaScript中截取字符串,确保输出的子串不包含非ASCII字符。它通过遍历输入字符串 `str`,每次检查当前字符是否符合指定长度限制(`len`),并利用正则表达式 `[^\x00-\xff]` 来检测非ASCII字符。如果找到非ASCII字符,跳过两个字符计数;否则,正常计数。最后返回结果字符串,如果超过长度限制,添加省略号。 2. **获取域名主机**: `getHost` 函数用于解析给定的URL或当前页面URL,提取域名部分。它首先检查输入URL是否为空,然后使用正则表达式 `/^\w+\:\/\/([^\/]*)/` 匹配并捕获域名,将结果存储在 `host` 变量中。 3. **清除字符串两侧空格**: `trim` 方法作为 `String.prototype` 的扩展,实现了去除字符串两端空格的功能。它使用正则表达式 `^\s*(.*?)\s+$` 匹配前后空格,仅保留字符串中间部分。 4. **替换字符串中的所有实例**: `replaceAll` 方法是另一个 `String.prototype` 实现,接受两个字符串参数,`s1` 是要查找并替换的目标,`s2` 是替换后的字符串。它使用全局和多行搜索模式(`"gm"`)来替换所有匹配项。 5. **HTML编码**: `HtmlEncode` 函数用于将输入文本中的特殊字符转换为它们的HTML实体,如 `&amp;` 替换为 `&amp;`,`&quot;` 替换为 `&quot;`,`&lt;` 替换为 `<`,`&gt;` 替换为 `>`,以防止XSS攻击。 6. **HTML解码**: 尽管文档未提供解码代码,但理论上可以通过一个类似的方法实现 `HtmlDecode` 函数,使用正则表达式从HTML实体中还原字符,例如 `&amp;` 变回 `&`。 这些自定义函数展示了JavaScript在日常开发中常见的文本处理技巧,适用于简化代码、提高效率和安全性。掌握这些函数将有助于开发人员更轻松地处理字符串、URL和HTML内容。在实际项目中,根据需要灵活组合和扩展这些函数,以满足不同的需求。