Skip to content

Instantly share code, notes, and snippets.

@abrahamsangha
Created May 9, 2013 11:50
Show Gist options
  • Save abrahamsangha/5547014 to your computer and use it in GitHub Desktop.
Save abrahamsangha/5547014 to your computer and use it in GitHub Desktop.
Using Regexp to find Social Security Numbers
# Determine whether a string contains a Social Security number.
def has_ssn?(string)
string.match(/\d{3}\-\d\d\-\d{4}/)
end
# Return the Social Security number from a string.
def grab_ssn(string)
string[/\d{3}\-\d\d\-\d{4}/]
end
# Return all of the Social Security numbers from a string.
def grab_all_ssns(string)
string.scan(/\d{3}\-\d\d\-\d{4}/)
end
# Obfuscate all of the Social Security numbers in a string. Example: XXX-XX-4430.
def hide_all_ssns(string)
string.gsub((/\d{3}-\d{2}/), 'XXX-XX')
end
# Ensure all of the Social Security numbers use dashes for delimiters.
# Example: 480.01.4430 and 480014430 would both be 480-01-4430.
def format_ssns(string)
string.gsub((/(\d{3})(\d{2})(\d{4})/), '\\1-\\2-\\3').gsub((/\./), '-')
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment