php - 带下划线正则表达式模式的字母数字

标签 php regex

我正在扩展 CodeIgniter 表单验证库以检查带下划线的字母数字值不包括破折号。但我对正则表达式模式很陌生,需要一些帮助...

目前对于 alpha_numeric CI 有:

return ( ! preg_match("/^([a-z0-9])+$/i", $str)) ? FALSE : TRUE;

对于 alpha_dash CI 有:

return ( ! preg_match("/^([-a-z0-9_-])+$/i", $str)) ? FALSE : TRUE;

我正在创建“alpha_underscore”(同样是带下划线的字母数字):

这是正确的吗?

return ( ! preg_match("/^([a-z0-9_])+$/i", $str)) ? FALSE : TRUE;

我很困惑为什么在“alpha_dash”模式的开头和结尾有一个“-”

最佳答案

字符类 [-a-z0-9_-][a-z0-9_-][-a-z0- 9_]

其中一个 - 可以被删除。

关于php - 带下划线正则表达式模式的字母数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5234943/

相关文章:

javascript - "might"的正则表达式开头为,但 "must"后面为

php - 匹配交替子模式的正则表达式模式

python - 检索数据直到它与下一个正则表达式模式匹配

php - PDO 异常 - 拒绝访问

php - 如何从MySQL数据库中检索特定用户数据并显示在 ListView 中?

正则表达式查找前四个并发唯一值的位置

javascript - Express.js : regex in route

php - 如何制作排除没有所有参数的行的SQL查询

php - 如何在 Bootstrap 范围 slider 中获得两个值?

php - 无效的签名 REST API Magento 2