首页  >  文章  >  后端开发  >  求个PHP正则

求个PHP正则

WBOY
WBOY原创
2016-06-06 20:52:411006浏览

只能由“0-9a-zA-Z”和“-”组成,并且“-”不能在头尾出现,长度至少一位。
征求一下广大牛淫的意见。

回复内容:

只能由“0-9a-zA-Z”和“-”组成,并且“-”不能在头尾出现,长度至少一位。
征求一下广大牛淫的意见。

^[0-9a-zA-Z][0-9a-zA-Z\-]*[0-9a-zA-Z]$

上边的不对,修改一个:

^(?!-)[a-z0-9A-z-]*[a-z0-9A-z]$

不以 - 开头,且以字母数字结尾,长度可以是1或多。

/^(?!\-)[0-9a-zA-Z\-]*?[0-9a-zA-Z]{1}$/

^([0-9a-zA-Z]{1}[0-9a-zA-Z-]*?[0-9a-zA-Z]{1}|[0-9a-zA-Z]{1})$ 
/^[0-9a-zA-Z]+([0-9a-zA-z-]+[^-\W_])*$/

关键是一个字的时候 所以给他分组就可以了 这题谁在zhihu上问过
对了 域名就是这种格式的 不包括后缀

其实分开是很简单的事情,没必要非整一个很复杂低效的正则
!/^-/.test(string) && !/-$/.test(string) && /^[0-9a-zA-Z\-]+$/.test(string)

function test($s, $t){
    var_dump(preg_match('#^(?!-)[0-9a-zA-Z-]+(?
                            
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn