我有一个搜索功能。我想检查用户是否输入了带有点 (.) 的文本单词/句子。
Example:
-anyword.anyword.
-.
-.anyword
一旦我检测到他/她输入了一个带有点的值,我就会认为这是无效的。
我知道我可以使用正则表达式来做到这一点,但我仍在学习它的过程中。因此,任何人都可以在这里为我提供启发,将不胜感激:)。
我有一个搜索功能。我想检查用户是否输入了带有点 (.) 的文本单词/句子。
Example:
-anyword.anyword.
-.
-.anyword
一旦我检测到他/她输入了一个带有点的值,我就会认为这是无效的。
我知道我可以使用正则表达式来做到这一点,但我仍在学习它的过程中。因此,任何人都可以在这里为我提供启发,将不胜感激:)。
您可以使用String#indexOf
:
if (theString.indexOf(".") !== -1) {
// It has a dot
}
但是,如果您真的想使用正则表达式(仅查找 a 就过分了.
):
if (/\./.test(theString)) {
// It has a dot
}
该/\./
部分是正则表达式。开头和结尾/
是正则表达式分隔符,例如"
和'
用于字符串。正则表达式的内容是\.
我们需要在 the 之前加上反斜杠,.
因为否则,在正则表达式中,.
表示“匹配任何字符”。它之前的反斜杠“转义”它并告诉正则表达式从字面上匹配一个点。String#indexof
(我们在示例中不需要它,因为indexOf
没有对 . 进行任何特殊处理.
。)
最好为此使用then的indexOf
函数,因为在这个 scnerio 中将是一个过度杀伤:String
Regexp
Regexp
MyString.indexOf('.')
如果它返回 -1则使用字符串中没有点。如果返回值是一些整数,如 0,1,2 等,它给出了字符串中点的位置。所以 -1 表示没有 Dot
例子:
if(MyString.indexOf('.') === -1)
{
//No Dot is there, continue search
}
else
{
//Invalid string, dot is present
}
试试这个
该indexOf()
方法返回指定值在字符串中第一次出现的位置。
-1
如果要搜索的值从未出现,则此方法返回。
var str = "test.test";
if(str.indexOf('.') === -1){
alert("no dot found.");
}
else{
alert("dot found.");
}