我正在为个人社交媒体链接(Instagram、Twitter和TikTok)添加个人表单
我正在努力寻找正确的模式来验证TikTok用户名.以下是我在Instagram上的预匹配代码.有没有人能给我提个建议,TikTok的模式是什么?表单必须接受整个URL和/或只接受句柄.也就是说,如果有人只提供了句柄@xyz或整个url www.tiktok.cpm/@xyz,则表单必须同时验证两者.
对于Instagram,我编写了以下正则表达式代码
public function validate($value) {
$value = $this->clean($value);
// Validate as Instagram username (1-30 word characters, starts with @,
return preg_match('/^@\w(?:(?:\w|(?:\.(?!\.))){0,28}(?:\w))?$/', $value);
}
仅供参考,函数CLEAN如下
public function clean($value) {
// Tolerate a link
$url_matches = [];
if (preg_match('/^https?:\/\/(?:www\.)?instagram\.com\/([\w.]+)\/?$/', $value, $url_matches)) {
$value = '@' . $url_matches[1];
}
// Prepend with @ if not already present
if (!preg_match('/^@/', $value)) {
$value = '@' . $value;
}
return $value;
}
编辑过的
TikTok用户名有24个字符的限制.句柄前面会自动加一个"@"符号.用户名只能包含字母、数字、句点和下划线.
TikTok帐户示例-https://www.tiktok.com/@imperialcollegeunion/
Instagram帐户示例-https://www.instagram.com/icunion/