Unfortunately, you cannot migrate your CLR functions to SQL Azure. You will need to either use the usual string functions (PATINDEX, CHARINDEX, LIKE, etc.), or perform these operations outside the database.
EDIT Adding some information for examples added to the question.
E-mail address
This is always controversial because people do not agree on which version of the RFC they want to support. For example, the original did not support apostrophes (or, at least, people insisted that this did not happen - I didnโt dig it out of the archives and didnโt read it myself, however), and it needs to be expanded quite often for new TLDs (once for four-letter TLDs such as .info, then again for 6-letter TLDs such as .museum). I have often heard that knowledgeable people claim that perfect email authentication is not possible, and having previously worked with an email service provider, I can tell you that this is a constantly moving goal. But for the simplest approaches, see Question TSQL Email Validation (without regex) .
One digital digit
Probably the easiest one:
WHERE @s LIKE '[0-9]';
Credit card numbers
Assuming you cross out dashes and spaces that you should do anyway. Please note that this is not an actual check of the credit card number algorithm to make sure that the number itself is valid, only that it matches the general format (AmEx = 15 digits, starting from 3, the rest - 16 digits - Visa starts from 4, MasterCard starts with 5, Discover starts with 6, and I think there is one that starts with 7 (although it can only be gift cards)):
WHERE @s + ' ' LIKE '[3-7]'+ REPLICATE('[0-9]', 14) + '[0-9 ]';
If you want to be a little more accurate at the cost of a drag, you can say:
WHERE (LEN(@s) = 15 AND @s LIKE '3' + REPLICATE('[0-9]', 14)) OR (LEN(@s) = 16 AND @s LIKE '[4-7]' + REPLICATE('[0-9]', 15));
US Phone Numbers
Again, assuming you are going to first cut out parentheses, dashes, and spaces. It is pretty accurate that the US area code cannot begin with 1; if there are other rules, I do not know about them.
WHERE @s LIKE '[2-9]' + REPLICATE('[0-9]', 9);
-----
I am not going to go further, because many other expressions that you have defined can be extrapolated from the above. Hope this gives you a start. You need to be able to Google for some others to see how other people have replicated templates using T-SQL. Some of them (for example, days of the week) can probably just be checked on the table - it seems unnecessary to match the infestation patterns for a set of seven possible values. Similar to a list of 1000 numbers or years, it will be much easier (and probably more efficient) to check if there is a numerical value in the table, and not convert it to a string and see if it matches some kind of pattern.
I reiterate that much will be much better if you can clear and verify the data before it gets to the database in the first place. You should strive to do this wherever possible, because without the CLR, you simply cannot make a powerful RegEx inside SQL Server.