SQL Server 2008中检验email地址字段的有效性,正则表达式?patindex函数?

需要检验tb中储存email地址的字段(字段名位ContactEmail)的有效性,生成包含所有有效email地址的记录的视图,应该如何进行?纠结的问题有以下几点:
1:使用正则表达式,但是似乎MS SQL不支持?还是2008已经支持了,如果支持,应该怎么写?
2:如果不用正则,那是不是可以用patindex实现?如何实现?(似乎还有人说这个函数现在已经支持正则了,真的吗)

PS:email有效性的规则主要如下:username@domain
Username只能是0-9 or a-z or A-Z or - or _ or .
必须以字母或者数字开头
4-18位
必须有@
域名也是由0-9 or a-z or A-Z or - or . 组成(没有下划线)
求大神帮忙