Javascript 除了问号、感叹号或分号外,如何在字符串末尾添加句号?

Javascript 除了问号、感叹号或分号外,如何在字符串末尾添加句号?,javascript,Javascript,这只适用于句号: if (string.charAt(string.length-1) != ".") { string = string+"."; }; 只需在“如果”语句中添加额外条件,表示“不是一个。或一个?或一个!或一个;只需在“如果”语句中添加额外条件,表示“不是一个”。还是一个?或者一个!或 您可以这样使用: <!DOCTYPE html> <html> <body> <p id="demo">Click the bu

这只适用于句号:

if (string.charAt(string.length-1) != ".") {
        string = string+".";
};

只需在“如果”语句中添加额外条件,表示“不是一个。或一个?或一个!或一个;

只需在“如果”语句中添加额外条件,表示“不是一个”。还是一个?或者一个!或

您可以这样使用:

<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to display the first character of a string.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction()
{
var str = "HELLO WORLD?";
if(str.charAt(str.length-1) != "." && str.charAt(str.length-1) != "?" && str.charAt(str.length-1) != "!" && str.charAt(str.length-1) != ";")
document.getElementById("demo").innerHTML=str+".";
else
document.getElementById("demo").innerHTML=str;
}
</script>
</body>
</html>

单击按钮以显示字符串的第一个字符

试试看 函数myFunction() { var str=“你好,世界?”; 如果(str.charAt(str.length-1)!=“&&str.charAt(str.length-1)!=”?“&&str.charAt(str.length-1)!=”!”、&str.charAt(str.length-1)!=“;”) document.getElementById(“demo”).innerHTML=str+”; 其他的 document.getElementById(“demo”).innerHTML=str; }
您可以这样使用:

<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to display the first character of a string.</p>
<button onclick="myFunction()">Try it</button>
<script>
function myFunction()
{
var str = "HELLO WORLD?";
if(str.charAt(str.length-1) != "." && str.charAt(str.length-1) != "?" && str.charAt(str.length-1) != "!" && str.charAt(str.length-1) != ";")
document.getElementById("demo").innerHTML=str+".";
else
document.getElementById("demo").innerHTML=str;
}
</script>
</body>
</html>

单击按钮以显示字符串的第一个字符

试试看 函数myFunction() { var str=“你好,世界?”; 如果(str.charAt(str.length-1)!=“&&str.charAt(str.length-1)!=”?“&&str.charAt(str.length-1)!=”!”、&str.charAt(str.length-1)!=“;”) document.getElementById(“demo”).innerHTML=str+”; 其他的 document.getElementById(“demo”).innerHTML=str; }
对于一种情况,您可以执行以下操作: 说明: 波浪形操作符(
~
):
~x
相当于
-Math.floor(x)-1
这意味着如果最后一个字符不是
[”、“!”、“?”、“;”]
中的一个,indexOf将返回-1, 其中tilde运算符更改为0,如果为负值,则为true(因为它是falsy)
!0==假

string[x]
相当于
string.charAt(x)

对于一个条件,您可以执行以下操作: 说明: 波浪形操作符(
~
):
~x
相当于
-Math.floor(x)-1
这意味着如果最后一个字符不是
[”、“!”、“?”、“;”]
中的一个,indexOf将返回-1, 其中tilde运算符更改为0,如果为负值,则为true(因为它是falsy)
!0==假


string[x]
相当于
string.charAt(x)

它完全按照您编写的代码执行。问号、分号和星号不是句号。这也与此无关regex@daveL如果没有这些标记,我需要句号。但是你没有检查这些字符的存在;只是没有一个句号…它完全按照你的编码进行。问号、分号和星号不是句号。这也与此无关regex@daveL如果没有这些标记,我需要句号。但是你没有检查这些字符的存在;只是没有一个句号…有没有可能只通过一个条件就做到这一点?谢谢。我个人不认为它值得一个正则表达式。你最好的选择是单独的陈述(读起来会更清楚)是否可以仅通过一个条件来实现这一点?谢谢。我个人不认为它值得一个正则表达式。你最好的选择是单独的陈述(读起来会更清楚)