整个字符串包括字母、数字、下划线,但必须是以字母开始,以字母或数字结尾!请大家帮忙了,急用!

解决方案 »

  1.   


    $pattern = '/^[a-zA-Z]\w*[a-zA-Z0-9]$/';
      

  2.   


    $Pe='/^[a-zA-Z][\w]+[a-zA-Z|\d]$/';
    $subject='a012321cd';
    $Str=preg_match($Pe, $subject,$matches);
    print_r($matches);
      

  3.   


    <?php
    $mode="/^[a-zA-Z]\w*[a-zA-Z0-9]$/";
    $str="dfcd5bd_fsdc3";//测试用的字符串
    if(preg_match($mode,$str,$arr)){
    echo "成功";
    print_r($arr);
    }
    else{
    echo "不成功";
    }?>
    这里说说正则的意思
    ^[a-zA-Z]\w*[a-zA-Z0-9]$分三块解释一下:1.^[a-zA-Z]:^代表匹配字符串首部内容,[a-zA-Z]代表所有的大小写字母,加起来表示以字母开头2.\w*:\w代表包含所有英文字符[a-zA-Z_0-9],*代表匹配前一个内容的0次1次或多次,这里表示中间包含字母,数字,下划线3.[a-zA-Z0-9]$:$代表匹配字符串尾部内容,[a-zA-Z0-9]代表所有的大小写字母与数字,加起来表示以字母或者数字结尾
      

  4.   

    +1 好,建议大家以后都像baoxiaohua这样详细说明.