我是 RegEx 和 JavaScript 的新手,我想知道是否有人知道用于检测输入字段是否包含以下格式类型的 RegEx 是什么:
至少一个可以包含空格的字母数字标签(例如“Test Tag”而不是“Test@Tag”)
每个标签用一个逗号分隔(例如“Cars, Vehicle, Large Dog, Bed”,但不是“Cars, Vehicle, Tiger”)
我的意思的一个例子是,这些将是有效标签:
boy, man,girl, woman,tyrannosaurus rex, lion
这些都是无效标签:
hat, cat, rat, c3po, @gmail
因为“@gmail”中有无效字符。
只要字符是字母数字,它也应该能够只接受一个标签。
最佳答案
假设您想要允许 _
而不允许在开头或结尾有空格,这将是最短的解决方案:
/^\w(\s*,?\s*\w)*$/
在末尾引入空格:
/^\s*\w(\s*,?\s*\w)*\s*$/
从允许的字符中删除 _
:
/^\s*[a-z0-9](\s*,?\s*[a-z0-9])*\s*$/
这是我最初发布的暴力正则表达式。它将您的要求转换为正则表达式语法。我想把它留在这里供引用。
/^\s*([a-z0-9]+(\s[a-z0-9]+)*)(\s*,\s*([a-z0-9]+(\s[a-z0-9]+)*))*\s*$/
关于javascript - 对于逗号分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4316735/