Javascript 如何阻止多个空格清除表单验证?
我正在开发一个简单的表单和javascript验证函数。我唯一的问题是不止一个空格将被读取为有效条目。我需要确保表单是实际填写的,而不是在每个字段中放两个空格然后提交表单。我怎样才能阻止这种事情发生?如果第一个字符是空格,是否有方法返回false,或者在没有其他字符的情况下读取任意数量的空格作为false?在验证之前,使用字符串修剪功能修剪字符串。它应该修剪前导和尾随空格。我在下面提供了一个示例,您可以查看更多有关的文档Javascript 如何阻止多个空格清除表单验证?,javascript,forms,validation,Javascript,Forms,Validation,我正在开发一个简单的表单和javascript验证函数。我唯一的问题是不止一个空格将被读取为有效条目。我需要确保表单是实际填写的,而不是在每个字段中放两个空格然后提交表单。我怎样才能阻止这种事情发生?如果第一个字符是空格,是否有方法返回false,或者在没有其他字符的情况下读取任意数量的空格作为false?在验证之前,使用字符串修剪功能修剪字符串。它应该修剪前导和尾随空格。我在下面提供了一个示例,您可以查看更多有关的文档 var demoInput=document.getElementByI
var demoInput=document.getElementById('multipleSpaces');
var demoext=demoInput.value;
var output=document.getElementById('output');
警报('初始文本长度:'+demoText.length+'\n修剪长度'+demoText.trim().length)代码>
如Joel所述,您好,如果要删除尾随空格,可以使用.trim()。如果您希望将字符串规范化为只有1个空间,那么可以使用以下代码段
var str = "this is sparta ";
str = str.trim()
str = str.split(/[ ]{2,}/).join(' ')
//output: "this is sparta"
Regex/[]{2,}/
查找多于1个空格并拆分字符串,然后.join(“”)
将拆分的元素编译为1个字符串。您可以将其缩短为以下内容:
str=str.trim()。结合一个必需的属性,这应该可以在没有任何JS的情况下实现您想要的:
<form>
<input
type="text"
pattern=".*\S.*"
title="Must contain non-whitespace characters"
required>
<input type="submit" value="Submit">
</form>
检查以确保该属性在目标环境中正常工作。对该值使用.trim