[英]how do i make sure the field is not filled in with empty spaces only?
我的代码:
var myNameFilter = /^([a-zA-Z ]+)$/;
var a = $('#afirstname').val();
if(a=='') {
console.log('WT?');
return false;
} else if (!myNameFilter.test(a)) {
console.log('WT? seriously?');
return false;
}
submit_form();
如果有人只将a = ' '
的值放在一些空白处,则此过滤不起作用。
如何使用myNameFilter
进行过滤?
像这样使用trim()
var a = ' ';
a.trim() // => ''
所以你可以做
var myNameFilter = /^([a-zA-Z ]+)$/;
var a = $('#afirstname').val();
if(!a.trim()) {
console.log('WT?');
return false;
} else if (!myNameFilter.test(a)) {
console.log('WT? seriously?');
return false;
}
submit_form();
注意, if
,当修剪后的字符串为空时,条件!a.trim()
计算结果为true,因为空字符串是虚假值
您可以使用修剪功能修剪空白。
var a = $('#afirstname').val().trim();
带有空格的名称(如Jan de Derdelinks
将保留。 但是,如果他们输入" Jan de Derdelinks "
,它将变成"Jan de Derdelinks"
我认为使用trim
并测试长度是最简单的解决方案
if (a.trim().length) {
//a has content
} else {
//a has no content
}
var myNameFilter = /^[a-z|A-Z]+(\s[a-z|A-Z]+){0,}$/,
name = $('#afirstname').val();
if (myNameFilter.test(name)) {
submit_form();
}
解决这个问题的另一种方法是采用字符串并将其放入函数中。 可以说x是您的字符串。 我们将找到长度,然后在其中找到“”的数量。 如果它们匹配,则字符串全为空白。
`function testForBlank(x) {
var spaces=x.match(/ /gi).length;
var length=x.length;
if (spaces==length) {
alert("x is all blank");
} else {
alert("x is not all blank");
}
}'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.