目前,我正在使用这个:
if (preg_match ('/^[a-zA-Z0-9_]+([a-zA-Z0-9_]*[.-]?[a-zA-Z0-9_]*)*[a-zA-Z0-9_]+$/', $product) ) {
return true;
} else {
return false
}
例如,我想匹配以下内容:
pro.duct-name_
_pro.duct.name
p.r.o.d_u_c_t.n-a-m-e
product.-name
____pro.-_-.d___uct.nam._-e
pro..ductname
.productname-
-productname.
-productname
pro..ductname
不匹配?难道不是点号在中间吗? - Ja͢ckdot
或dash
两次。Dot
和dash
可以在中间出现多次,但不能连续。那么,如果dot
和dash
相互之后出现了怎么办?我们允许product.-name
。 - banskt点
和短划线
不会出现两次,任何其他字母数字字符可以出现两次,ppppppppp
应该匹配。 - banskt