using System.Text.RegularExpressions;
using BEU = Bogus.Extensions.UnitedStates.ExtensionsForUnitedStates;
public static void Main()
StandardSocialSecurityNumber();
public static void StandardSocialSecurityNumber()
var list = Enumerable.Range(1, 20).Select(x => BEU.Ssn(new Bogus.Person()));
foreach (var ssn in list)
Console.WriteLine($"{ssn} is valid? {Helpers.IsValidSocialSecurityNumber(ssn).ToYesNo()}");
internal static class Helpers
public static bool IsValidSocialSecurityNumber(string value) =>
Regex.IsMatch(value.Replace("-", ""),
@"^(?!\b(\d)\1+\b)(?!123456789|219099999|078051120)(?!666|000|9\d{2})\d{3}(?!00)\d{2}(?!0{4})\d{4}$");
internal static class GeneralExtensions
public static string ToYesNo(this bool value) => value ? "Yes" : "No";