我创建了一个文本字段,用于添加以逗号分隔的标记。 (例如,php,jquery,js,ruby on rails)该字段就像stakoverflow上的字段,您可以为帖子添加标签。
我想验证输入以确保正确输入标记。这意味着用户可以只输入字母,数字,空格和逗号。我制作了以下regex_match,但我不完全确定它是否正确。
regex_match[/^[a-z, ]+$/i]
如果输入包含我在正则表达式中添加的内容,我在提交表单时会收到验证错误。我已经测试了,当我放置像' " ; \
这是我的第一个正则表达式,我做得对吗?语言是PHP。
答案 0 :(得分:3)
为什么不使用str_getcsv
函数,它会将CSV字符串解析为数组,然后您可以使用ctype_alnum
函数单独验证每个标记并丢弃格式错误的字符;)
如果您真的需要,这是正确的正则表达式模式: -
'/^[a-z0-9]+(, [a-z0-9]+)*$/i'
答案 1 :(得分:1)
好的,这里有一些问题:
您发布的行会导致PHP出现语法错误。既然你“测试了它”,这意味着这不是你使用的代码。请发布实际代码。
关于正则表达式,这是一个很好的第一次尝试,但你忘记了数字:
/^[a-z,0-9 ]+$/i