Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int validateName (void)
- {
- char buffer[81] = "";
- int valid = VALID;
- while(1)
- {
- valid = VALID;
- printf("Name: ");
- fgets(buffer, (BUFFER_SIZE -1), stdin);
- if(buffer[0] == '\n')
- {
- valid = QUIT_CONDITION;
- break;
- }
- else if(strlen(buffer) > 30 || strlen(buffer) < 1)
- {
- valid = INVALID;
- }
- else
- {
- for(int i = 0; i < strlen(buffer); ++i)
- {
- //A-Z range
- if((buffer[i] >= 0x41) && (buffer[i] <= 0x5A))
- {
- continue;
- }
- //a-z range
- else if((buffer[i] >= 0x61) && (buffer[i] <= 0x7A))
- {
- continue;
- }
- //Foreign characters
- else if((buffer[i] >= 0x80) && (buffer[i] <= 0x9A))
- {
- continue;
- }
- //More foreign characters
- else if((buffer[i] >= 0xA0) && (buffer[i] <= 0xA5))
- {
- continue;
- }
- //0-9 range
- else if((buffer[i] >= 0x30) && (buffer[i] <= 0x39))
- {
- continue;
- }
- //Checks for special characters accepted as per the requirements.
- else if((buffer[i] == ' ') || (buffer[i] == '!') || (buffer[i] == '&') || (buffer[i] == '(') (buffer[i] == ')') ||(buffer[i] == '+'))
- {
- continue;
- }
- //More special characters.
- else if((buffer[i] == '-') || (buffer[i] == '.') || (buffer[i] == '/') || (buffer[i] == '@') || (buffer[i] == '[') || (buffer[i] == ']'))
- {
- continue;
- }
- else
- {
- valid = INVALID;
- break;
- }
- }
- }
- //If all characters are valid, or if ENTER was pressed, exit the loop.
- if (valid == VALID)
- {
- break;
- }
- else if(valid == QUIT_CONDITION)
- {
- break;
- }
- //If the input was invalid, check
- else
- {
- printf("\nSorry, that name isn't valid. Try again, or press ENTER to quit. \nName: ");
- }
- }
- return valid;
- }
Advertisement
Add Comment
Please, Sign In to add comment