Javascript - 正则表达式,用于字母,数字,下划线逗号分隔的标签
Javascript - Regex for letters,numbers,underscore comma-seperated tags
我是正则表达式和javascript的新手,我想知道是否有人知道用于检测输入字段是否包含以下格式的正则表达式是什么:
至少一个不能包含空格的字母数字和下划线(_(标签(例如"test"和"test_",但不能包含"test test"(
每个标签由单个逗号分隔(例如"word1,word2,word_3,_word_4",但不是"word1,,word2,word_3,_word_4(和任何其他符号无效(如;!"(@#%^&*()-+=.>
我的意思的一个例子是,这些将是有效的标签:
某物1,something_2,something_something,某物这些将是无效标签:
something1%,something%2^,!something%_&something,(*(something@+
它还应该能够只接受单个标签,也可以接受多个标签!!
谢谢。
假设您要同时接受大写和小写字符:
^[a-zA-Z0-9_]+(,[a-zA-Z0-9_]+)*$
提到的网站有很多关于正则表达式的信息,我建议通读一下。现在做一个简短的解释:
^
表示字符串的开头,因此没有其他(可能无效的(字符可以位于它前面。在 [
和 ]
之间是一个字符类:指定后面可以跟哪些字符。 例如,[ABC]
表示 A、B 或 C。您还可以指定范围,例如 [A-E]
,这意味着 A、B、C、D 或 E。
在上面的正则表达式中,我指定了范围a
到 z
、A
到 Z
(大写(、0
到 9
和单字符_
。+
意味着字符、组或字符在其前面的字符类中必须至少出现一次或多次。
(
和)
组合是正则表达式的一部分。在这种情况下,他们将,
(对于您想要的逗号分隔列表(和到目前为止表达式的重复进行分组。*
意味着(如+
(它前面的组可能出现很多次,但不同之处在于*
使其成为可选的。
所以,简而言之:此表达式允许由 a-z、A-Z、0-9 或字符 _
范围内的至少一个或多个字符组成的标签,可选后跟更多以 ,
开头的标签,指定逗号分隔列表的要求:)
单个标签将匹配
[a-zA-Z0-9_]+
这是一个字符类,包含大写和小写的拉丁字母以及数字和下划线。这通常可以缩短为
'w+
如果你知道你的RE引擎不会处理Unicode(JavaScript就是这种情况(。不过,我现在将继续'w+
。
您可以通过选择单个标签和可能为零个逗号 + 标签来匹配多个标签:
'w+(,'w+)*
如果要验证完整的字符串,则应在表达式周围放置字符串开头和字符串结尾的锚点:
^'w+(,'w+)*$
- es6 相当于下划线查找位置
- 用空格替换下划线PHP
- 如何使用下划线js转换这些数据
- 带嵌套json的下划线js查找
- 如何逃离<>在javascript下划线模板中
- TinyMCE从MSWord粘贴的文本在所有文本下加下划线
- 使用lodash下划线基于键拆分jsonarray
- 在控制台中显示下划线变量
- 如何从另一个带下划线的数组中筛选带元素的数组
- 筛选下划线中的对象
- 在键值对中对求和值进行下划线
- 使用下划线将键和值的两个数组合并到一个对象中
- 如何将文件名中的斜线替换为下划线
- Javascript - 正则表达式,用于字母,数字,下划线逗号分隔的标签
- 如何将下划线分隔的字符串转换为大写字符串
- 用逗号分隔的属性转换为带下划线或长划线的实际属性
- 从用下划线分隔的文本中获取特定字符串
- JavaScript拆分用下划线分隔的值并计算SUM
- 如何找到下划线分隔的应用程序版本之间的最大值
- 将数字和电子邮件地址之间的所有单词替换为小写字母,并用下划线分隔