[英]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.