Reputation: 243
What I'm looking for is, if inserted text contains chars and integer and if these not in List chars return false
Example List:
List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
And the function should have 1 value like :
check(Text) ->
List = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"],
if the inserting text like is :
check("you should have 10 point to do this")
should return true cuz every thing in text exists within List
and if the inserting text like is :
check("you should + have ....")
should return false cuz " + " & " . " not exists within List.
Upvotes: 0
Views: 179
Reputation: 20004
Note that your first check
example passes a string containing whitespace, which is not in List
, so I'm assuming you want to handle that.
Here's one way to solve this:
check(Text) ->
List = "1234567890abcdefghijklmnopqrstuvwxyz \t\n.",
lists:all(fun(C) -> lists:member(C, List) end, Text).
First, note that here, List
is not a list of strings, as you originally specified, but a list of characters. I've added the space, tab, newline, and period characters to List
as well.
The second line of check/1
walks through the list Text
character by character. For each character C
we check that it's a member of List
. If that test returns true for all characters, then lists:all/2
returns true, otherwise it returns false.
Upvotes: 6