全面解析:正则表达式关键模式

需积分: 3 1 下载量 20 浏览量 更新于2024-10-26 收藏 8KB TXT 举报
本文主要介绍了正则表达式中的一些常用模式,这些模式涵盖了对数字、长度限制、字母组合、特殊字符、中文字符、邮箱、URL、电话号码、身份证号以及日期格式的验证。 1. 数字验证: - 只能输入数字:`^[0-9]*$`,这个正则表达式只允许输入0-9之间的任意数量的数字,不允许其他字符。 - 只能输入n位的数字:`^\d{n}$`,例如`^\d{5}$`表示只允许输入五位数字。 - 只能输入至少n位的数字:`^\d{n,}$`,例如`^\d{5,}$`表示至少需要输入五位数字,可以更多。 - 只能输入m到n位的数字:`^\d{m,n}$`,例如`^\d{3,6}$`表示可以输入3到6位的数字。 2. 非负整数验证: - 只能输入非负整数(包括0):`^(0|[1-9][0-9]*)$`,这个正则表达式允许0或者1到9开头的任意整数。 3. 小数验证: - 只能输入小数,最多保留两位小数:`^[0-9]+(.[0-9]{2})?$`,允许有或没有小数点,但小数部分最多两位。 - 只能输入小数,最多保留1到3位小数:`^[0-9]+(.[0-9]{1,3})?$`,同样允许有或没有小数点,小数部分1到3位。 4. 国际电话号码验证: - `^\+?[1-9][0-9]*$`,这个正则表达式用于验证国际电话号码,允许加号开始,然后是至少一位的数字。 5. 负整数验证: - `^\-[1-9][0-9]*$`,用于验证负整数,必须以负号开始,然后是至少一位的数字。 6. 字符串长度验证: - `^.{3}$`,确保字符串长度至少为3位。 7. 英文字母验证: - 只包含英文字母:`^[A-Za-z]+$`,只允许大小写的英文字母。 - 只包含大写英文字母:`^[A-Z]+$`。 - 只包含小写英文字母:`^[a-z]+$`。 - 只包含英文字母和数字:`^[A-Za-z0-9]+$`。 - 只包含字母、数字、下划线:`^\w+$`,其中`\w`等价于 `[A-Za-z0-9_]`。 8. 用户名验证: - `^[a-zA-Z]\w{5,17}$`,验证用户名,首字符必须是字母,后跟5到17个字母、数字或下划线。 9. 特殊字符限制: - 限制输入除特定字符外的任何字符:`^[^%&',;=?$\"\\x22]+`,这里限制了 `%&',;=?$\"` 这些字符。 10. 中文字符验证: - `^[\u4e00-\u9fa5]{0,}$`,用于验证是否全为中文字符。 11. Email地址验证: - `^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$`,用于验证电子邮件地址的格式。 12. Internet URL验证: - `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$`,用于验证互联网网址。 13. 电话号码验证: - `^(\(\d{3,4}-)|\d{3,4}-)?\d{7,8}$`,匹配多种格式的电话号码,如 "XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"、"XXXXXXXX"。 14. 身份证号验证: - `^\d{15}|\d{18}$`,用于验证15位或18位的身份证号码。 15. 月份验证: - `^(0?[1-9]|1[0-2])$`,验证月份,可以是1到12的数字,允许前导0。 16. 日期验证: - `^((0?[1-9])|((1|2)[0-9])|30|31)$`,验证日期,可以是1到31的数字,允许前导0,但不包括二月的29号。 17. 文本框输入限制: - 限制输入中文字符:`onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"` 和 `onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"`,这两个属性用于限制输入框只能输入中文字符。 - 限制输入全角字符:`onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"` 和 `onbeforepaste="cl"`,这两个属性用于限制输入框只能输入全角字符。 以上正则表达式模式在编写前端表单验证、数据过滤等方面非常实用,可以有效地确保用户输入的数据符合预设格式。