是否可以不使用正则表达式?
例如,我想检查一个字符串是否是一个有效的域:
domain-name
abcd
example
Run Code Online (Sandbox Code Playgroud)
是有效的域名.这些当然是无效的:
domaia@name
ab$%cd
Run Code Online (Sandbox Code Playgroud)
等等.所以基本上它应该以字母数字字符开头,然后可能会有更多的alnum字符加上连字符.它也必须以alnum角色结束.
如果不可能,你能建议我采用正则表达式吗?
编辑:
为什么这不起作用?我错误地使用了preg_match吗?
$domain = '@djkal';
$regexp = '/^[a-zA-Z0-9][a-zA-Z0-9\-\_]+[a-zA-Z0-9]$/';
if (false === preg_match($regexp, $domain)) {
throw new Exception('Domain invalid');
}
Run Code Online (Sandbox Code Playgroud) 如何删除www并验证有效域名。
有效域
domain.com
subdomain.domain.com
sub-domain.domain.com
Run Code Online (Sandbox Code Playgroud)
无效的网域
www.domain.com
www.subdomain.domain.com
http://www.domain.com/
http://www.subdomain.com/
www.domain.com/folder/
Run Code Online (Sandbox Code Playgroud)
怎么写代码?
$domain ='www.domain.com/folder/';
if() {
// validate here
}
Run Code Online (Sandbox Code Playgroud)