$str="test";
if(!preg_match('/^[a-zA-Z0-9]{4,8}[-\w][-\d]$/',$str))echo "wrong";只限是英文、或数字、或横线、或底线以上的有点错,输入纯英文便當錯了謝謝

解决方案 »

  1.   

    请问整句应该是如何?这样?$str="ks01";
    if(!preg_match('/^[a-zA-Z0-9][\d\w\-]$/',$str))echo "wrong";好像不行我是想,可以输入英文、或数字、或横线、或底线
    ks
    ks01
    ks-1
    1-ks
    ks_1
    0_ks
    也符合
    谢谢
      

  2.   

    \w
    任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个
    \d多余的
    你的意思是a-zA-Z0-9开头,后面跟英文、或数字、或横线、或底线的任意组合吧/^[a-zA-Z0-9][\w\-]*$/