我有搜索功能。我想检查用户是否输入了带有点(.)的文本单词/句子。

Example:
-anyword.anyword.
-.
-.anyword

一旦我检测到他/她输入了一个带点的值,我将认为该值无效。

我知道我可以使用regexp来做到这一点,但我仍在学习中。所以任何人都可以在这里给我带来启发:)。

最佳答案

您可以使用String#indexOf:

if (theString.indexOf(".") !== -1) {
    // It has a dot
}

但是,如果您真的想使用正则表达式(仅找到.可能会过大):
if (/\./.test(theString)) {
    // It has a dot
}
/\./部分是正则表达式。 /的开头和结尾是正则表达式分隔符,像"'都是字符串。正则表达式的内容为\.我们需要在.之前加反斜杠,因为否则,在正则表达式中,.表示“匹配任何字符”。它前面的反斜杠“转义”它,并告诉正则表达式从字面上匹配点。 (我们在String#indexof示例中不需要它,因为indexOf没有对.进行任何特殊处理。)

07-24 09:50
查看更多