汉字:`^[\u4e00-\u9fa5]{0,}$` 英文和数字:`^[A-Za-z0-9]+$ 或 ^[A-Za-z0-9]{4,40}$` 长度为3-20的所有字符:`^.{3,20}$` 由26个英文字母组成的字符串:`^[A-Za-z]+$` 由26个大写英文字母组成的字符串:`^[A-Z]+$` 由26个小写英文字母组成的字符串:`^[a-z]+$` 由数字和26个英文字母组成的字符串:`^[A-Za-z0-9]+$` 由数字、26个英文字母或者下划线组成的字符串:`^\w+$ 或 ^\w{3,20}` 中文、英文、数字包括下划线:`^[\u4E00-\u9FA5A-Za-z0-9_]+$` 中文、英文、数字但不包括下划线等符号:`^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$` 可以输入含有` ^%&',;=?$\" `等字符:`[^%&',;=?$\x22]+` 禁止输入含有~的字符`[^~\x22]+` ### 正则表达式语法及常见示例 #### 概述 正则表达式是一种强大的文本处理工具,广泛应用于各种编程语言中,用于文本搜索、替换以及数据验证等场景。正则表达式的语法灵活多样,能够精确匹配各种复杂的文本模式。 #### 基本语法介绍 1. **普通字符**: - 字母和数字直接匹配自身,例如:`a`, `5`。 - 特殊字符需要进行转义,例如:`\$`, `\*`。 2. **字符类别**: - `.`:匹配任意单个字符(除了换行符)。 - `\d`:匹配任意数字。 - `\w`:匹配任意字母、数字或下划线。 - `\s`:匹配任意空白字符。 - 取反:`\D`匹配非数字字符;`\W`匹配非字母、非数字或非下划线字符;`\S`匹配非空白字符。 3. **数量词**: - `*`:匹配前面的表达式零次或多次。 - `+`:匹配前面的表达式一次或多次。 - `?`:匹配前面的表达式零次或一次。 - `{n}`:匹配前面的表达式恰好n次。 - `{n,}`:匹配前面的表达式至少n次。 - `{n,m}`:匹配前面的表达式至少n次,最多m次。 4. **边界匹配**: - `^`:匹配字符串的开头。 - `$`:匹配字符串的结尾。 - `\b`:匹配单词边界。 5. **分组**: - `()`:用来分组匹配的表达式,可以用于限定数量词和提取匹配内容。 6. **其他常用符号**: - `|`:或操作符,匹配两者之一。 - `[]`:匹配字符集合中的任意一个字符。 - `^`:在字符集合中表示取反。 - `\`:转义字符。 #### 校验字符的表达式 - **汉字**:`^[\u4e00-\u9fa5]{0,}$` 匹配任何数量的汉字。 - **英文和数字**:`^[A-Za-z0-9]+$` 或 `^[A-Za-z0-9]{4,40}$` 分别匹配只包含英文和数字的字符串,且字符串长度可以是任意长度或固定在4到40个字符之间。 - **长度为3-20的所有字符**:`^.{3,20}$` 匹配长度为3到20个字符的任意字符串。 - **由26个英文字母组成的字符串**:`^[A-Za-z]+$` 匹配由26个英文字母组成的字符串。 - **由26个大写英文字母组成的字符串**:`^[A-Z]+$` 匹配由26个大写英文字母组成的字符串。 - **由26个小写英文字母组成的字符串**:`^[a-z]+$` 匹配由26个小写英文字母组成的字符串。 - **由数字和26个英文字母组成的字符串**:`^[A-Za-z0-9]+$` 匹配由数字和26个英文字母组成的字符串。 - **由数字、26个英文字母或者下划线组成的字符串**:`^\w+$` 或 `^\w{3,20}$` 分别匹配由数字、字母或下划线组成的字符串,长度可以是任意长度或固定在3到20个字符之间。 - **中文、英文、数字包括下划线**:`^[\u4E00-\u9FA5A-Za-z0-9_]+$` 匹配由中文、英文、数字和下划线组成的字符串。 - **中文、英文、数字但不包括下划线等符号**:`^[\u4E00-\u9FA5A-Za-z0-9]+$` 或 `^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$` 分别匹配由中文、英文、数字组成的字符串,长度可以是任意长度或固定在2到20个字符之间。 - **可以输入含有` ^%&',;=?$\" `等字符**:`[^%&',;=?$\x22]+` 匹配不包含特定特殊字符的字符串。 - **禁止输入含有~的字符**:`[^~\x22]+` 匹配不包含波浪线(~)和双引号(")的字符串。 #### 特殊需求表达式 - **Email地址**:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` 匹配标准的电子邮件地址。 - **域名**:`[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?` 匹配符合规则的域名。 - **Internet URL**:`[a-zA-z]+://[^\s]*` 或 `^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$` 匹配互联网网址。 - **手机号码**:`^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$` 匹配中国手机号码。 - **电话号码**:`^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$` 匹配不同格式的电话号码。 - **国内电话号码**:`\d{3}-\d{8}|\d{4}-\d{7}` 匹配中国的区号和电话号码。 - **身份证号**:`^\d{15}|\d{18}$` 匹配15位或18位的身份证号码。 - **短身份证号码**:`^([0-9]){7,18}(x|X)?$` 或 `^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$` 匹配数字或数字加字母x的身份证号码。 - **帐号是否合法**:`^[a-zA-Z][a-zA-Z0-9_]{4,15}$` 匹配字母开头,长度在5到16之间的合法账号。 - **密码**:`^[a-zA-Z]\w{5,17}$` 匹配以字母开头,长度在6到18之间,只能包含字母、数字和下划线的密码。 - **强密码**:`^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$` 匹配包含大小写字母和数字,长度在8到10之间的强密码。 - **日期格式**:`^\d{4}-\d{1,2}-\d{1,2}` 匹配年月日格式的日期。 - **一年的12个月**:`^(0?[1-9]|1[0-2])$` 匹配01到12月份。 - **一个月的31天**:`^((0?[1-9])|((1|2)[0-9])|30|31)$` 匹配01到31天。 #### 钱的输入格式 - 接受四种钱的表示形式:"10000.00" 和 "10,000.00",以及没有"分"的"10000" 和 "10,000":`^[1-9][0-9]*([,.][0-9]{1,2})?$` 匹配整数或带有小数点的钱数格式。 以上正则表达式涵盖了多种常见应用场景的需求,可以根据实际需求灵活调整和使用。
- 粉丝: 3277
- 资源: 1188
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助