相关疑难解决方法(0)

如何检查正则表达式中的字符串长度

我是Regular Expression的新手,并尝试编写一行代码来匹配

  1. 字符串不应该以数字开头.( 好 )
  2. 字符串应该只包含alpha,num,dash和underscore.( 好 )
  3. 字符串长度应在5到25之间(FAIL)

规则1和2正常工作,但规则3没有.

任何帮助解决它?

这是我的代码:

$arr = [
    '-foobar',
    'foobar',
    '32-xx',
    'xx23',
    'A2l',
    '2aAA',
    '_a2d',
    '-A22',
    '-34x',
    '2--a',
    'a--a-'

];

foreach( $arr as $a ){
    echo check( $a );
}

function check($string){
    if (preg_match("/^[a-zA-Z]+([a-zA-Z0-9_-]?){5,25}$/", $string)) {
        return "$string ---------------> match was found.<br />";
    } else {
        return "$string ---------------> match was not found.<br />";
    }

}
Run Code Online (Sandbox Code Playgroud)

php regex

1
推荐指数
1
解决办法
3848
查看次数

标签 统计

php ×1

regex ×1