Skip to content

Instantly share code, notes, and snippets.

@piyushawasthi
Created August 17, 2018 08:41
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save piyushawasthi/fd7fca5189afa5a84da77a00dfc006f6 to your computer and use it in GitHub Desktop.
Save piyushawasthi/fd7fca5189afa5a84da77a00dfc006f6 to your computer and use it in GitHub Desktop.
validate whitespace characters such as spaces, tabs, or newlines
def invalid_name?(pname)
( pname.is_a?(Array) && pname.any? { |name| name.index(/\s|\\t|\\n/) } ) || ( pname.is_a?(String) && pname.to_s.index(/\s|\\t|\\n/) )
end
puts "Test-case-1"
tab = "foo bar"
tab1= "foo\tbar"
s = "foo bar"
st = "foo \t bar"
n = "foo
bar"
n2 = "foo\nbar"
valid = "foobar"
puts "Invalid name tab: #{tab}" if invalid_name?(tab)
puts "Invalid name tab1: #{tab1}" if invalid_name?(tab1)
puts "Invalid name s: #{s}" if invalid_name?(s)
puts "Invalid name st: #{st}" if invalid_name?(st)
puts "Invalid name n: #{n}" if invalid_name?(n)
puts "Invalid name n2: #{n2}" if invalid_name?(n2)
puts "Valid name vallid: #{valid}" unless invalid_name?(valid)
puts "\n\n"
puts "Test-case-2"
tab = 'foo bar'
tab1= 'foo\tbar'
s = 'foo bar'
st = 'foo \t bar'
n = 'foo
bar'
n2 = 'foo\nbar'
valid = 'foobar'
puts "Invalid name tab: #{tab}" if invalid_name?(tab)
puts "Invalid name tab1: #{tab1}" if invalid_name?(tab1)
puts "Invalid name s: #{s}" if invalid_name?(s)
puts "Invalid name st: #{st}" if invalid_name?(st)
puts "Invalid name n: #{n}" if invalid_name?(n)
puts "Invalid name n2: #{n2}" if invalid_name?(n2)
puts "Valid name vallid: #{valid}" unless invalid_name?(valid)
# output for both are same
# Test-case
# Invalid name tab: foo bar
# Invalid name tab1: foo bar
# Invalid name s: foo bar
# Invalid name st: foo bar
# Invalid name n: foo
# bar
# Invalid name n2: foo
# bar
# Valid name vallid: foobar
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment