我正在扩展CodeIgniter表单验证库以检查带有下划线不包括短划线的Alpha数字值。但我对正则表达式模式很新,并希望得到一些帮助...
目前,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'模式的开头和结尾有' - '
答案 0 :(得分:4)
字符类[-a-z0-9_-]
与[a-z0-9_-]
或[-a-z0-9_]
相同。
其中一个-
可以删除。
答案 1 :(得分:3)
角色刚刚重复。你可以删除它的一个实例,正则表达式应该可以正常工作。