本文主要探讨了如何使用JavaScript进行文本框输入内容的控制,包括输入限制、数据校验以及鼠标焦点的处理。以下是一些常见的正则表达式模式,用于实现这些功能。
1. 数字输入限制:
- `^[0-9]+\.{0,1}[0-9]{0,2}$`:允许输入最多两位小数的数字。
- `^[0-9]*$`:仅允许输入整数。
- `^\d{n}$`:允许输入n位的整数。
- `^\d{n,}$`:允许输入n位或更多位的整数。
- `^\d{m,n}$`:允许输入m到n位的整数。
2. 非负实数输入限制:
- `^[0-9]+(.[0-9]{2})?$`:允许输入非负实数,最多两位小数。
- `^[0-9]+(.[0-9]{1,3})?$`:允许输入非负实数,最多三位小数。
3. 正负整数输入限制:
- `^\+?[1-9][0-9]*$`:允许输入正整数或零。
- `^\-[1-9][0-9]*$`:允许输入负整数。
4. 字符长度控制:
- `^.{3}$`:确保输入至少3个字符。
- `^[A-Za-z]+$`:允许输入26个英文字符组成的字符串。
- `^[A-Z]+$`:允许输入26个大写英文字符组成的字符串。
- `^[a-z]+$`:允许输入26个小写英文字符组成的字符串。
- `^[A-Za-z0-9]+$`:允许输入26个英文字母和数字组成的字符串。
- `^\w+$`:等同于上一条,也接受下划线。
5. 用户名验证:
- `^[a-zA-Z]\w{5,17}$`:验证用户名,必须以字母开头,后跟5到17个字母、数字或下划线。
6. 特殊字符限制:
- `^[^%&',;=?$\x22]+$`:不允许输入特殊字符 `%&',;=?$\"`。
7. 中文字符输入:
- `^[\u4e00-\u9fa5]{0,}$`:允许输入任意长度的中文字符。
8. 邮箱验证:
- `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`:验证邮箱地址格式。
9. URL验证:
- `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`:验证互联网URL格式。
10. 电话号码验证:
- `^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$`:验证各种格式的电话号码。
11. 身份证号验证:
- `^\d{15}|\d{18}$`:验证15位或18位的身份证号。
12. 月份和日期验证:
- `^(0?[1-9]|1[0-2])$`:验证1到12的月份。
- `^((0?[1-9])|((1|2)[0-9])|30|31)$`:验证1到31的日期,适用于非闰年的2月。
13. 去除字符串中的空格和换行:
- `String.prototype.len = function() { return this.replace(/[^\x00-\xff]/g, "aa").length; }`:计算包含双字节字符的字符串长度。
- `\s` 和 `\r` 的正则表达式可以用来去除字符串中的空格和换行。
14. HTML标签处理:
- `<(.*)>(.*)<\/(.*)>|<(.*)\/>`:匹配HTML标签并提取内容。
- `(^\s*)|(\s*$)`:用于去除字符串首尾的空白字符。
最后,对于JavaScript中的字符串处理,需要注意正则表达式的正确使用,以实现预期的功能。在实际开发中,根据项目需求,可以灵活组合和修改这些正则表达式,以满足特定的输入验证和数据清洗需求。