使值为所有空格的文本框无效
Make Textbox with Value of All Spaces Invalid
我有这些脚本。。。
Name: <input type="text" id="inputName" onblur="verifyName(this.value)">
<script type="text/javascript">
function verifyName(nameInput)
{
if(nameInput=="")
{
// error
alert('please enter your name');
}
else
{
// accepted
}
}
</script>
如果用户不想在文本框中输入自己的姓名,这将显示一个错误。
如果用户懒惰,他/她会输入"(一个空格或更多)作为名称,该怎么办?这可以被JavaScript接受。在if
条件下,它将返回false。
但我希望用户不要只输入空格。有办法做到这一点吗?
注:任何数量的空格(没有任何字母)都是无效的。
如果用户输入以下文本之一,JavaScript应接受/拒绝如下输入。。。
"John" --> valid
"" --> invalid
"John Doe" --> valid
" " --> invalid
"John Doe" --> valid (can be edited to remove too many spaces)
" Kim" --> valid (can be edited to remove too many spaces)
" " --> invalid
function verifyName(nameInput)
{
nameInput = nameInput.trim();
if(nameInput=="")
{
// error
alert('please enter your name');
}
else
{
// accepted
}
}
trim()函数将删除所有空格。如果var中只有空格,则trim()返回"。
在进行检查之前修剪字符串。见下文
if(nameInput.trim()=="")
{
// error
alert('please enter your name');
}
else
{
// accepted
}
函数的一个(相当多的)可能实现使用正则表达式:
function verifyName(nameInput) {
return input.match(/'w{1,12}/) === null ? false : true;
// ^^
// Or some other sensible limitation to the length of a name.
}
您可以使用正则表达式替换字符串中的所有空格,然后检查其长度。如果删除所有空格后至少还有一个字符,那就是你的有效情况,对吧?
testInput = function(){
var inpStr = $('#txtInp').val();
var teststr = inpStr.replace(/'s/g, "");
//$('#testStrDiv').text(teststr);
if((teststr.length)&&(teststr.length>0))
{
$('#divOutp').html('<b>Valid! </b>');
}
else{
$('#divOutp').html('<b>Invalid! </b>');
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="txtInp" />
<input type="button" onclick="testInput()" value="test" />
<div id="testStrDiv" />
<div id="divOutp" />
相关文章:
- 如果我在javascript中输入无效的电子邮件或空白,如何显示特定的文本框边框红色
- 数组在手动写入时有效,但从文本文件加载时无效
- 检查输入/文本区域中粘贴的文本是否存在无效的章程
- 使值为所有空格的文本框无效
- IE10+上的AngularJS,带有占位符原因的文本区域“;无效参数&”;
- D3:x 轴上的日期名称:<文本>属性 x=“NaN”的值无效
- 更改无效(错误答案)的段落颜色和文本颜色
- 未终止的字符串文本/无效或意外的令牌
- Ajax自动完成扩展器防止在文本框中键入无效值
- 在PopupPanel中添加图像和更改文本字体大小无效
- 限制文本框输入2到998之间的数字无效
- Tab分隔符在Chrome文本区域无效-Javascript
- 在文本区域中用红色突出显示无效的电子邮件地址
- 防止在文本输入中插入无效字符
- 单击更改链接中的文本无效
- 自定义HTML中无效字段的文本
- 覆盖moment js默认的无效日期文本
- 使用val(value)设置文本框的值无效
- 在IE11中通过jQuery添加文本无效
- 悬停时更改文本无效