如何驗證電子郵件是否有效?在sql server 2008中的電子郵件驗證?
例如:
[email protected]
- 有效[email protected]@.com
- 無效[email protected]
- 無效
如何驗證電子郵件是否有效?在sql server 2008中的電子郵件驗證?
例如:
[email protected]
- 有效[email protected]@.com
- 無效[email protected]
- 無效有一個新的有效的方式做到這一點是延長.NET功能爲SQL。
請http://msdn.microsoft.com/en-us/magazine/cc163473.aspx
一個現成的源代碼查看細節正則表達式匹配的http://www.codeproject.com/Articles/42764/Regular-Expressions-in-MS-SQL-Server-2005-2008。現在
用於電子郵件的簡單的正則表達式應該爲你做 希望魔術能夠幫助
謝謝,我們可以在DB中執行sql server功能 –
@muralikrishna:在提供的兩個鏈接處檢查代碼。您編寫匹配C#代碼的正則表達式,然後在SQL中調用該函數。 –
感謝很多我會盡量讓你知道 –
這裏是創建具有特定規則的表郵件地址爲(正則表達式)的例子。然後用sql查詢模式(Regexp)的例子。有了這個,你應該能夠做你想做
使用正則表達式創建表什麼
create table Contacts (
FirstName nvarchar(30),
LastName nvarchar(30),
EmailAddress nvarchar(30) CHECK (dbo.RegExMatch('[a-zA-Z0-9_\-][email protected]([a-zA-Z0-9_\-]+\.)+(com|org|edu|nz)', EmailAddress)=1),
USPhoneNo nvarchar(30) CHECK (dbo.RegExMatch('\([1-9][0-9][0-9]\) [0-9][0-9][0-9]\-[0-9][0-9][0-9][0-9]', UsPhoneNo)=1))
INSERT INTO [talend].[dbo].[Contacts]
([FirstName]
,[LastName]
,[EmailAddress]
,[USPhoneNo])
VALUES
('Hallam'
,'Amine'
,'[email protected]’
,'0129-2090-1092')
,('encoremoi'
,'nimportequoi'
,'[email protected]'
,'(122) 190-9090')
GO
執行與正則表達式
SELECT [FirstName]
,[LastName]
,[EmailAddress]
,[USPhoneNo]
FROM [talend].[dbo].[Contacts]
where [talend].[dbo].RegExMatch([EmailAddress],'[a-zA-Z0-9_\-][email protected]([a-zA-Z0-9_\-]+\.)+(com|org|edu|nz|au)') = 1
功能代碼的請求SQL
using System;
using Microsoft.SqlServer.Server;
using System.Text.RegularExpressions;
public partial class RegExBase
{
[SqlFunction(IsDeterministic = true, IsPrecise = true)]
public static int RegExMatch(string matchString , string pattern)
{
Regex r1 = new Regex(pattern.TrimEnd(null));
if (r1.Match(matchString.TrimEnd(null)).Success == true)
{
return 1 ;
}
else
{
return 0 ;
}
}
};
我希望這可以幫助您
感謝您的答覆..這是我的測試數據[email protected]有效 '[email protected]有效 [email protected]有效 t'[email protected]有效藿以驗證它 [email protected]無效 @ test.com無效 測試@無效 測試@@ test.com無效 測試@ test..com無效 測試@測試。無效 test.com無效 test @ test @ test。com無效 –
好的,我編輯了我的完整回覆 –
非常感謝,更多的澄清,我必須創建功能代碼... –
幾年前,我寫了一個程序大約Pattern Matching – Email Validation。希望這可以幫助你。
看看http://stackoverflow.com/questions/423606/t-sql-checking-for-email-format –
我不認爲有這樣做的一個萬無一失的方式,除了發送給它,看看是否你會得到一個錯誤。即使您能夠檢測到某個地址在語法上是否有效,也無法分辨該電子郵件地址是否存在,或者無論如何您都不會嘗試發送是否成功。 – Bridge