【问题标题】:How to validate phone number in sql server如何在sql server中验证电话号码
【发布时间】:2022-06-16 10:18:52
【问题描述】:

我需要检查电话号码是否为以下格式

+1(111)11-1111
(111)11-1111
1111111111

我正在使用这个逻辑,但没有得到我想要的

DECLARE @Customers TABLE (PhoneNumber VARCHAR(20))
INSERT @Customers
VALUES
    ('+1(111)11-1111'),
    ('1111111111'),
    ('11(11)111111'),
    ('11abcd1111'),
    (')123(45678-9-0-'),
    ('(111)11-1111')

SELECT PhoneNumber
FROM @Customers
WHERE PhoneNumber NOT LIKE '%[^0-9()-]%'
--AND REPLACE(REPLACE(REPLACE(PhoneNumber, '(', ''), ')', ''), '-', '') LIKE '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
AND LEN(REPLACE(REPLACE(REPLACE(REPLACE(PhoneNumber, '(', ''), ')', ''), '-', ''),'+','')) = 10 -- Alternate test

预期结果

+1(111)11-1111'
1111111111
(111)11-1111

我得到的结果

1111111111
11(11)111111
)123(45678-9-0-

【问题讨论】:

  • 你创建了一堆 javascript sn-ps - 没有一个工作 - 因为它们不是 javascript - 请删除它们。

标签: sql sql-server


猜你喜欢
  • 1970-01-01
  • 2020-01-20
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多