Идентификация "."и отсутствие пробелов в строке через «если ... если» - PullRequest
1 голос
/ 17 июня 2019

Я хочу определить, нет ли в строке пробела после "."

Я пробовал вложенное выражение if, но оно не работает. Я предполагаю, что упускаю что-то действительно простое.

Кроме того, я читал, что это может делать Regex, но я не мог обернуться вокруг синтаксиса.

(function() {
    'use strict';

    var invocationInitial = document.getElementById('spokenNames');
    if(invocationInitial) {
    var invocation = invocationInitial.innerHTML.trim();
    }
    var counter = 1;
    var message = '';

    if(invocation.indexOf('.') !== -1) {
    if(/\s/.test(invocationInitial) === false)
    { 
    message = counter + ". No dot in string without subsequent whitespace";
    counter = counter +1;
    }
    }

    if(message) {
       alert(message);
    }
})();

Предупреждение браузера («message») должно отображаться, если «invocationInitial» имеет значение , а не имеет каждую каждую встречающуюся точку («.»), За которой следует пробел.

Здесь введен счетчик переменных, потому что в полной версии будет отображаться несколько предупреждений браузера в зависимости от условий.

1 Ответ

1 голос
/ 17 июня 2019

RegEx, который вам нужен здесь, довольно прост: /\.\S/. Это говорит "соответствует точке, за которой не следует пробельный символ". Обратите внимание, что \s означает «соответствовать символу пробела», а \S (заглавная S) означает «соответствовать любому символу, НЕ являющемуся пробелом».

Так что вы можете просто сделать это:

if (/\.\S/.test(invocation)) {
    // There's a dot followed by non-whitespace!
}
else {
    // There is no dot followed by non-whitespace.
}
...