Я не знаю точных правил, которые определяют действительный номер телефона в Великобритании, и, поскольку вы не предоставили никаких правил для подтверждения номера телефона, я просто выбрал правила, указанные в URL, предоставленном Колином Пикардом в его ответе.
Следующие правила проверяются для подтверждения номера телефона в Великобритании -
1. Номер телефона не является нулевым
2. Номер телефона не содержит требуемых 10 или 11 цифр.
3. Действительные номера телефонов в Великобритании должны начинаться с 0
Если есть какие-то правила, которые я пропустил, вы также можете добавить проверку для этих условий в эту функцию.
ALTER FUNCTION [dbo].[ValidatePhoneNo]
(
@PhoneNo varchar(20)
)
RETURNS varchar(10)
AS
BEGIN
DECLARE @Result varchar(10)
SET @RESULT = 'invalid'
IF len(@PhoneNo) > 9 AND len(@PhoneNo) < 12 AND @PhoneNo IS NOT NULL AND (substring(@PhoneNo,1,1) = 0)
BEGIN
SET @Result = 'valid'
END
RETURN @RESULT
END