使用这个正则表达式
/\.{2,}/g
量词
{}
表示长度为2或更多,只能将字符串设置为内部HTML内容,不能直接设置true或false等布尔值。
let text = "Is this .. all there is?";
let text2 = "Is this . all there is?";
let pattern =/\.{2,}/g;// use this regex
let result = pattern.test(text);
let result2 = pattern.test(text2);
document.getElementById("demo").innerHTML = `${text}'s result: ${result?"true":"false"}`;
document.getElementById("demo2").innerHTML = `${text2}'s result: ${result2?"true":"false"}`;
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<p id="demo2"></p>
</body>
</html>
“...如何测试一个字符串是否包含 1 个或多个放在一起的点。...”
使用
^
和 $
sytnax,表示行的开始和结束。
var s = 'abc ... 123'
console.log(/^[^\.]+$/g.test(s))
您的正则表达式不适合您的目的。它匹配列表中不存在的单个字符:[^.+](
.
或+
字符),那么如果字符串包含任何不是true
或.
的字符,它将始终返回
+
.
您可以使用以下模式检查字符串是否包含多个放在一起的点:
/\.\.+/g
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
let text = "Is this .. all there is?";
let pattern = /\.\.+/g;// check if there is more than one dot put together
//should return true
let result = pattern.test(text)
document.getElementById("demo").innerHTML = result;
</script>
</body>
</html>