根据给定的文件信息,以下是对“javascript正则表达式大全”中提到的关键知识点的详细解析:
### 1. 正则表达式基础
#### 数字匹配
- `^\d+$`:匹配整个字符串,确保它只包含数字,且至少有一个。
- `^[0-9]*[1-9][0-9]*$`:匹配非零正整数。
- `^((-\d+)|(0+))$`:匹配任何整数,包括负数和零。
- `^-[0-9]*[1-9][0-9]*$`:匹配非零负整数。
- `^-?\d+$`:匹配可选带符号的整数。
- `^\d+(\.\d+)?$`:匹配浮点数或整数。
- `^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$`:更复杂的浮点数和整数匹配。
#### 负数与小数匹配
- `^((-\d+(\.\d+)?)|(0+(\.0+)?))$`:匹配非零的负数、零或带有小数点的正数。
- `^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$`:匹配负数的小数或整数形式。
- `^(-?\d+)(\.\d+)?$`:匹配可选带符号的浮点数或整数。
- `^\d+(\.{1}\d+)?$`:匹配整数或小数,但确保小数点后至少有一个数字。
#### 字母匹配
- `/^[A-Za-z]+$/`:匹配一个或多个英文字母。
- `/^[A-Z]+$/`:匹配一个或多个大写英文字母。
- `/^[a-z]+$/`:匹配一个或多个小写英文字母。
- `/^[A-Za-z0-9]+$/`:匹配一个或多个字母和数字组合。
- `^\w+$`:匹配一个或多个单词字符(等同于字母数字和下划线)。
#### Unicode匹配
- `/[u4e00-u9fa5]/`:匹配单个中文字符。
- `/[^x00-xff]+/`:匹配非ASCII字符,通常用于识别中文或其他非拉丁字符集。
#### 邮件、URL和特殊格式
- 邮箱地址:`^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$` 或 `[\w+([-+.]\w+)*@\w+([-.]\w+)*.\w+([-.]\w+)*]`,匹配标准的电子邮件地址。
- URL:`^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$` 或 `/http:\/\/([w-]+.)+[w-]+(/[w-./?%&=]*)?/`,匹配标准的URL格式。
- IP 地址:`/(d+).(d+).(d+).(d+)/`,匹配标准的IPv4地址。
### 2. 其他高级应用
- `len()` 方法:计算字符串中非ASCII字符的长度。
- `trim()` 方法:去除字符串两端的空白字符。
- IP 地址转换为数值:通过`IP2V()`函数,将IPv4地址转换为其数值表示。
- 替换重复字符:示例代码展示了如何使用正则表达式和`replace()`方法去除字符串中的重复字符。
- 提取URL中的文件名:使用正则表达式提取URL路径后的文件名部分。
- 输入限制:在输入框中仅允许输入中文或全角字符,通过`onkeyup`和`onbeforepaste`事件实现。
以上正则表达式涵盖了数字、字母、Unicode字符、电子邮件、URL、IP地址等多种常见数据类型的匹配和处理,是JavaScript开发中非常实用的工具集合。理解和掌握这些表达式的结构和功能,对于进行高效的数据验证和处理至关重要。