我有搜索功能。我想检查用户是否输入了带有点(.)的文本单词/句子。
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
没有对.
进行任何特殊处理。)