检测字符串中是否存在句点

时间:2013-05-02 14:58:22

标签: javascript jquery search

如果这看起来像一个愚蠢的问题我很抱歉,但我怎样才能搜索字符串以查看它是否包含句点?我试过搜索:

var p="This is text without a period, What now?"

alert(p.search("."));

我的印象是它应该返回-1,因为该句中没有句号。但是,它总是返回0.

我错过了什么吗?

3 个答案:

答案 0 :(得分:11)

有很多方法可以做到这一点,我可能会使用indexOf()来查看字符串中是否存在字符:

alert( p.indexOf(".") != -1 ); // true or false

根据MDN,search()“执行搜索正则表达式与此String对象之间的匹配。”,这样就是:

alert( p.search(/\./) );

会给你-1,并且句号在正则表达式中具有特殊含义,必须进行转义。

答案 1 :(得分:2)

如果你想坚持使用正则表达式,你将需要转义.,因为它是一个特殊的正则表达式字符。要在JavaScript Regex中转义点,您需要将其“转换”为字符类。这是通过[]完成的。

alert(p.search("[.]"));

Working fiddle

答案 2 :(得分:0)