Javascript 丢弃空格或空字符
这将是一个简单的问题,但对我来说不是:) 我正在处理以下代码:Javascript 丢弃空格或空字符,javascript,Javascript,这将是一个简单的问题,但对我来说不是:) 我正在处理以下代码: <!DOCTYPE html> <html> <body> <h1>My First JavaScript</h1> <p>Please input a number.</p> <input id="demo" type="text"> <script> function myFunction() { var x=do
<!DOCTYPE html>
<html>
<body>
<h1>My First JavaScript</h1>
<p>Please input a number.</p>
<input id="demo" type="text">
<script>
function myFunction()
{
var x=document.getElementById("demo").value;
if(x==""||isNaN(x)) /*?*/
{
alert("Not Numeric");
}
}
</script>
<button type="button" onclick="myFunction()">Click Me!</button>
</body>
</html>
我的第一个JavaScript
请输入一个数字
函数myFunction()
{
var x=document.getElementById(“demo”).value;
如果(x=“”| | isNaN(x))/**/
{
警报(“非数字”);
}
}
点击我!
这将产生如下输出
在代码中,我们通过检查if(x==“”| | isNaN(x))
来检查是否没有输入值,提醒用户。但如果在文本框中输入空格字符,则检查失败。检查的方法是什么
PS:我用的是chrome。而且trim()不起作用。我建议在检查它是否是一个数字之前,先在
x
上调用trim
<代码>修剪将删除内容左侧和右侧的所有空格(如果有)
var x=document.getElementById("demo").value;
x = x.trim();
请注意,trim在某些旧浏览器中不可用。如果您需要支持它们,您可以自己实现它或使用类似的库函数
您还可以使用以下选项:
if(isNaN(parseInt(x)))
(假设你的x是一个整数。)修剪你的输入字符串
var x=document.getElementById("demo").value.trim();
尝试使用正则表达式替代
function myFunction(){
var x=document.getElementById("demo").value;
if(!(/^\d+$/.test(x))) {
alert("Not Numeric");
}
}
演示:如果您可以使用jQuery,那么jQuery的修剪非常方便 $.trim(‘任意值’) 或者您只想使用JavaScript,请使用trim函数忽略空白。即使新浏览器支持修剪。我建议创建一个单独的函数来解决浏览器兼容性问题 创建一个函数
function trim(this)
{
return this.replace(/^\s+|\s+$/g, '');
};
然后在你的代码剪掉更改代码为
var x=trim(document.getElementById("demo").value);
较新的浏览器支持
string.trim
功能。对于更广泛的覆盖范围,可以使用正则表达式删除空格,然后检查结果的长度。如果大于零,则测试NaN
这里有一种修剪的方法:
function trim(stringToTrim) {
return stringToTrim.replace(/^\s+|\s+$/g,"");
}
测试:
这种方法是由.建议的。如果要避免使用trim或regex,可以使用
parseFloat
命令。要实现这一点,请使用parseFloat(x)
,如果x是一个空格或任何不是数字的东西,它将返回NaN
。这只测试a的存在性digit@ACB/^\d+$/
是一个函数,它有一个方法test
,该方法将根据传递的参数是否满足正则表达式返回true/false
^\d+$
表示只有数字字符的行。要检查什么?数字有很多定义,如果你把一个只有空格的字符串转换成一个数字,它在javascript中就是0
。如果输入null值,什么是“null值”?文本输入的value
属性始终是一个字符串,从不null
。因此,如果我按下空格,它会将其视为字符串?当然,空格是字符串值。OP显然不使用jQuery
var myString = " hello my name is ";
alert("*"+trim(myString)+"*");