使用jQuery验证插件,但它没有CSV验证。我已对此进行了额外的验证,但无法使RegEx正确。
这就是我所拥有的:
jQuery.validator.addMethod("csv", function(value, element) {
return this.optional(element) || /([\w.$]+?(,[\w.]+)+)/.test(value);
}, "Must be comma separated if entering multiple values: value1,value2");
对RegEx的任何想法?
([\w.$]+?(,[\w.]+)+)
我要做的是让用户输入一个值,该值可以是CSV格式的单个值或多个值。
示例1:
值1
示例2:
value1,value2等......没有限制
答案 0 :(得分:3)
根据Chad的示例,如果您只想要单词字符,只需将[^,]
切换为\w
即可。如果您实际上只需要字母和数字,则需要[a-z0-9]
之类的内容,因为\w
包含下划线字符。
根据您的评论,看看是否
/^([a-z0-9])+(,[a-z0-9]+)*$/
诀窍。
答案 1 :(得分:0)
也许我并不完全理解你需要什么,但似乎你可以用这个正则表达式捕获所有的值:
/([^,]+),?/
这将允许值中的空格和特殊字符,我不确定您是否需要,因为您的尝试似乎只是尝试允许单词字符。
如果你只是试图检查他们是否输入了有效的东西,我不确定你会想要什么“无效”。在我看来,几乎任何事情都是有效的。如果它没有任何逗号,则它是单个值。如果是,那就是多个值。也许如果你提供一些关于你期望的数据的更多细节,我可以写一个更好的验证表达式。