标识“。”并通过“ if ... if”在字符串中没有空格

时间:2019-06-17 20:45:53

标签: javascript if-statement indexof

我想确定字符串中“。”之后是否没有空格。

我尝试了一个嵌套的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);
    }
})();

如果“ invocationInitial”没有 每个出现的点(“。”)后均带有空格,则应显示浏览器警告(“消息”)。

此处介绍了var计数器,因为在完整版本中,将根据不同的情况显示多个浏览器警告。

1 个答案:

答案 0 :(得分:1)

这里需要的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.
}