JS正则表达式判断字符串是否为数字、字母、下划线组成,且长度在6-12之间

JS正则表达式判断字符串是否为数字、字母、下划线组成,且长度在6-12之间

前言

学习过程中做的学习笔记,意在巩固学习,方便复习。文章中有何不妥之处,欢迎指正批评!

也希望能够帮助到有需要的朋友

一、什么是正则表达式

正则表达式是由一个字符序列形成的搜索模式。

当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。

正则表达式可以是一个简单的字符,或一个更复杂的模式。

正则表达式可用于所有文本搜索和文本替换的操作。

二、javaScript正则表达式的简单语法

/正则表达式主体/修饰符(可选)

实例:

var patt=/abc/i;
var str="aBccc";
alert(patt.test(str));
//语句表达的意思是搜索字符串str中是否有abc(不区分大小写) 输出结果为true
//其中,/e/i是一个正则表达式
// abc正则表达式主体
// i表示不区分大小写
//	text()是正则表达式的一个方法,检索字符串中指定的值。返回 true 或 false。

三、正则表达式常用字符

1.修饰符

修饰符描述
i执行对大小写不敏感的匹配。
g执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m执行多行匹配。

2.中括号

中括号用于查找某个范围内的字符:

表达式描述
查找方括号之间的任何字符。
[^abc]查找任何不在方括号之间的字符。
[0-9]查找任何从 0 至 9 的数字。
[a-z]查找任何从小写 a 到小写 z 的字符。
[A-Z]查找任何从大写 A 到大写 Z 的字符。
[A-z]查找任何从大写 A 到小写 z 的字符。
[adgk]查找给定集合内的任何字符。
[^adgk]查找给定集合外的任何字符。
(red|blue|green)查找任何指定的选项。

3.元字符

元字符(Metacharacter)是拥有特殊含义的字符:

元字符描述
.查找单个字符,除了换行和行结束符。
\w查找单词字符。
\W查找非单词字符。
\d查找数字。
\D查找非数字字符。
\s查找空白字符。
\S查找非空白字符。
\b匹配单词边界。
\B匹配非单词边界。
\0查找 NUL 字符。
\n查找换行符。
\f查找换页符。
\r查找回车符。
\t查找制表符。
\v查找垂直制表符。
\xxx查找以八进制数 xxx 规定的字符。
\xdd查找以十六进制数 dd 规定的字符。
\uxxxx查找以十六进制数 xxxx 规定的 Unicode 字符。

4.量词

量词描述
n+匹配任何包含至少一个 n 的字符串。
n*匹配任何包含零个或多个 n 的字符串。
n?匹配任何包含零个或一个 n 的字符串。
n{X}匹配包含 X 个 n 的序列的字符串。
n{X,Y}匹配包含 X 至 Y 个 n 的序列的字符串。
n{X,}匹配包含至少 X 个 n 的序列的字符串。
n$匹配任何结尾为 n 的字符串。
^n匹配任何开头为 n 的字符串。
?=n匹配任何其后紧接指定字符串 n 的字符串。
?!n匹配任何其后没有紧接指定字符串 n 的字符串

四、判断字符串是否为数字、字母、下划线组成,且长度在6-12之间

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>正则表达式</title>
    <script type="text/javascript">
     //要求字符串长度6-12,且必须为字母、下划线或者数字
        var patt=/^\w{6,12}$/;	// 表示字符串长度在6-12之间,且必须是字母、数字、下划线组成
        var str="Abcs213214";
        alert(patt.test(str));
    </script>
</head>
<body>

</body>
</html>

注意:

使用正则表达式时,如果字符串中一旦达到其要求,就会停止检索。就如同 “ n? 表示 匹配任何包含零个或一个 n 的字符串。”不管字符串中有几个n,都会返回true,但是如果字符串中出现一个或几个连续的n,就会停止检索,如“abcndef”就会在检索到n时停止检索;

n{X,Y}表示匹配包含 X 至 Y 个 n 的序列的字符串。所以如"/\w{2,3}/"这个例子就不符合条件,这是匹配2到3个的序列单词字符(即2到3个连续的字母、数字或者下划线),如果字符串前部分满足了条件,就会停止检索,至于字符串后面部分如果出现不满足条件的情况,就检索不到。如"abcd【【"这个例子,前面部分满足匹配条件时,就会停止检索。

而我们要求的是字符串只能由字母、数字、下划线组成,所以还要加上字符串开头和结尾也必须是单词字符的要求,所以正确的表达一应该是/^\w{6,12}$/

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值