https://github.com/knadh/stringvalidator.py
Aa simple string validator class in Python for basic data validation such as checking if a string is alpha, alphanumeric, e-mail etc.
https://github.com/knadh/stringvalidator.py
Last synced: about 1 year ago
JSON representation
Aa simple string validator class in Python for basic data validation such as checking if a string is alpha, alphanumeric, e-mail etc.
- Host: GitHub
- URL: https://github.com/knadh/stringvalidator.py
- Owner: knadh
- Created: 2013-03-03T09:41:05.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-03-05T06:41:45.000Z (over 13 years ago)
- Last Synced: 2025-03-19T00:17:58.373Z (about 1 year ago)
- Language: Python
- Size: 102 KB
- Stars: 9
- Watchers: 2
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# stringvalidator.py
Aa simple string validator class in Python for basic data validation such as checking
if a string is alpha, alphanumeric, e-mail etc.
Kailash Nadh, March 2013
License: MIT License
Documentation: http://nadh.in/code/stringvalidator.py
## Validation checks
Check
Description
Arguments
is_numeric
Check if a string is numeric (123, 12.3, -12.3 etc.)
is_alpha
Check if a string is alphabetical (a-z only)
is_alphanumeric
Check if a string is alphanumeric (a-z and 0-9)
is_integer
Check if a string is an integer (1, -1, 0, but not 1.1)
is_float
Check if a string is a float (1.0, -2.0, but not 1)
longer_than
Check if a string is longer than a given length
(length)
shorter_than
Check if a string is shorter than a given length
(length)
is_email
Check if a given string is a valid e-mail
is_tld
Check if a given string is a top level domain (www.site.com, site.com, but not a.b.site.com)
is_handle
Check if a given string is a valid username handle containing only alphanumeric and _ (username, username9, user_name, 1user ...)
## Usage
Any number of conditions can be chained and passed to the ```StringValidator.validate()``` method.
```StringValidator.validate(input, [checks], log)```
- ```input``` is the input string to be validated. It is always stripped of preceding and trailing spaces
- ```checks``` is the chained list of checks. Checks with arguments are passed as tuples
- ```log``` is an optional boolean flag. If set to ```False```(default), ```StringValidator.validate()``` simply
returns ```True, False``` if all checks pass, or one of the checks fail, respectively.
If set to ```False```, ```True``` is returned if all checks pass, or a ```dict``` containing
what failed and passed is returned. Example:
```
{
'not_empty': True,
'is_email': False
}
```
### Examples
```
from StringValidator import StringValidator
validator = StringValidator()
input = "user@email.com"
validator.validate(input, ['is_email'])
# => True
input = "user@email.com"
validator.validate(input, ['is_email', ('longer_than', 20)])
# => False
input = "123.4"
validator.validate(input, ['not_empty', ('shorter_than', 5), 'is_float'])
# => True
input = "123.4"
validator.validate(input, ['is_float', ('longer_than', 5), ('shorter_than', 10)])
# => True
input = "123"
validator.validate(input, ['not_empty', 'is_alpha'], True)
# => {
'not_empty': True,
'is_alpha': False
}
```