正则表达式校验字符串格式并指定必须包含某些字符
2017-03-16 11:30
525 查看
一、需求
要求长度为8-9位,开头是字母 ,必须有数字,必须有下划线二、思路解析
写法1:^[a-zA-Z](?=.*_)(?=.*\d).{7,8}$首先,开头是固定的,以字母开头,所以可以这样写 ^[a-zA-Z];
然后,要求必须要有数字和下划线,我们可以这些写 (?=.*_)(?=.*\d) ,这两句的目的分别是校验后面的字符串是否包含下划线和包含数字,是的话才匹配前面的开头字母;
于是,目前的正则是^[a-zA-Z] (?=.*_)(?=.*\d) ,
但对长度有限制8-9位,所以加上长度的限制^[a-zA-Z](?=.*_)(?=.*\d).{7,8}$
最终,完整的正则表达式就是:
^[a-zA-Z](?=.*_)(?=.*\d).{7,8}$
写法2:(?=.*\d)(?=.*_)^[a-zA-Z].{7,8}$
这个写法是先匹配整个字符串是否包含数字和下划线(?=.*\d)(?=.*_)
有的话,才执行后面的匹配^[a-zA-Z].{7,8}$
相关文章推荐
- Html表单的正则校验--将不符合指定正则表达式的字符串自动替换为空
- Asp.net的正则表达式,匹配指定的字符和字符串。
- 正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
- 正则表达式对邮件地址进行校验以及从一个字符串中匹配出一个格式正确的邮件地址
- js 正则表达式 验证字符串中必须包含字母和数字
- 正则表达式 不包含指定字符串
- 正则表达式 不包含指定字符串
- [150702]正则表达式 不包含指定字符串
- 正则表达式匹配不包含某些字符串的技巧
- PHP中判断字符串是否包含某个字符时,建议使用正则表达式preg_match()
- 正则表达式替换和不包含指定字符串
- [正则表达式]如何判断字符串中不包含某些子字符串呢?
- 正则表达式匹配不包含某些字符串的技巧
- 在JS中,使用正则表达式,用指定字符替换字符串前后空格
- 正则表达式:不包含某些指定的单词(超级难的正则式,前无古人哦)
- 正则表达式匹配不包含某些字符串的技巧
- 用正则表达式提取字符串中的字符(包含数字)
- 最全的常用正则表达式--包含校验数字、字符、一些特殊的需求等等
- 最全的常用正则表达式--包含校验数字、字符、一些特殊的需求等等
- js正则表达式不包含某些连续的字符串