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