w3resource

JavaScript: Check whether a given string contains only Latin letters and no two uppercase and no two lowercase letters are in adjacent positions

JavaScript Basic: Exercise-101 with Solution

Write a JavaScript program to check whether a given string contains only Latin letters and no two uppercase and no two lowercase letters are in adjacent positions.

Pictorial Presentation:

JavaScript: Check whether a given string contains only Latin letters and no two uppercase and no two lowercase letters are in adjacent positions.

Sample Solution:

HTML Code:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title> Check whether a given string contains only Latin letters and no two uppercase and no two lowercase letters are in adjacent positions</title>
</head>
<body>

</body>
</html>

JavaScript Code:

function test_string(input_str) {

  var is_lower_case = function(symbol) {
    if ('a' <= symbol && symbol <= 'z') {
      return true;
    }
    return false;
  }

  var is_upper_case = function(symbol) {
    if ('A' <= symbol && symbol <= 'Z') {
      return true;
    }
    return false;
  }

  var is_first_char_lower = is_lower_case(input_str[0]),
    is_first_char_upper = is_upper_case(input_str[0]);

  if (!(is_first_char_lower || is_first_char_upper)) {
    return false;
  }

  for (var i = 1; i < input_str.length; i++) {
    if (i % 2) {
      if (is_lower_case(input_str[i]) === is_first_char_lower ||
        is_upper_case(input_str[i]) === is_first_char_upper) {
        return false;
      }
    } else {
      if (is_lower_case(input_str[i]) !== is_first_char_lower ||
        is_upper_case(input_str[i]) !== is_first_char_upper) {
        return false;
      }
    }
  }

  return true;
}

console.log(test_string('xYr'));   
console.log(test_string('XXyx'));   

Sample Output:

true
false

Flowchart:

Flowchart: JavaScript - Check whether a given string contains only Latin letters and no two uppercase and no two lowercase letters are in adjacent positions

ES6 Version:

function test_string(input_str) {
  const is_lower_case = symbol => {
    if ('a' <= symbol && symbol <= 'z') {
      return true;
    }
    return false;
  };

  const is_upper_case = symbol => {
    if ('A' <= symbol && symbol <= 'Z') {
      return true;
    }
    return false;
  };

  const is_first_char_lower = is_lower_case(input_str[0]);
  const is_first_char_upper = is_upper_case(input_str[0]);

  if (!(is_first_char_lower || is_first_char_upper)) {
    return false;
  }

  for (let i = 1; i < input_str.length; i++) {
    if (i % 2) {
      if (is_lower_case(input_str[i]) === is_first_char_lower ||
        is_upper_case(input_str[i]) === is_first_char_upper) {
        return false;
      }
    } else {
      if (is_lower_case(input_str[i]) !== is_first_char_lower ||
        is_upper_case(input_str[i]) !== is_first_char_upper) {
        return false;
      }
    }
  }

  return true;
}

console.log(test_string('xYr'));   
console.log(test_string('XXyx'));

Live Demo:

See the Pen javascript-basic-exercise-101 by w3resource (@w3resource) on CodePen.


Contribute your code and comments through Disqus.

Previous: Write a JavaScript program to check if there is at least one element which occurs in two given sorted arrays of integers.
Next: Write a JavaScript program to find the number of inversions of a given array of integers.

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



JavaScript: Tips of the Day

Converts a string to title case

Example:

const toTitleCase = str =>
  str
    .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)
    .map(x => x.charAt(0).toUpperCase() + x.slice(1))
    .join(' ');
console.log(toTitleCase('some_database_field_name')); // 'Some Database Field Name'
console.log(toTitleCase('Some label that needs to be title-cased')); // 'Some Label That Needs To Be Title Cased'
console.log(toTitleCase('some-package-name')); // 'Some Package Name'
console.log(toTitleCase('some-mixed_string with spaces_underscores-and-hyphens')); // 'Some Mixed String With Spaces Underscores And Hyphens' 

Output:

"Some Database Field Name"
"Some Label That Needs To Be Title Cased"
"Some Package Name"
"Some Mixed String With Spaces Underscores And Hyphens"