我正在laravel 5.3中存储域的功能。在这里,用户在textarea中输入多个域每行一个我想要验证每个域的格式应该是正确的,应该跳过其他域,并且还要使用正确的格式和错误的格式进行计数。 这是我的代码
$name = $request->input('domain_name');
$domains = preg_split('/[\r\n ,]+/', $name);
foreach ($domains as $domain) {
$data['domain'] = $domain;
$data['user_id'] = Auth::user()->id;
if (empty($request->input('domain_id'))) {
$domain = Domain::create($data);
}
}
格式正确的域名应创建并跳过格式错误,并计算正确和错误的格式。 谢谢你的帮助
答案 0 :(得分:0)
使用preg_match
和Regex
:
if( ! preg_match("/^(?!-)(?:[a-zA-Zd-]{0,62}[a-zA-Zd].){1,126}(?!d+)[a-zA-Zd]{1,63}$/", $domain)) continue; // skip
或者你可以使用它:
if(filter_var(gethostbyname($domain), FILTER_VALIDATE_IP))
{
return 'True';
}