変数がnullであるか、すべて空白であるか、または単に空白( "")であるかを確認する必要があります。
次のものがありますが、機能しません。
var addr;
addr = " ";
if (!addr) {
// pull error
}
私が以下を実行すると、それは機能します:
if (addr) {
}
必要なのは、C#メソッドのようなものString.IsNullOrWhiteSpace(value)
です。
変数がnullであるか、すべて空白であるか、または単に空白( "")であるかを確認する必要があります。
次のものがありますが、機能しません。
var addr;
addr = " ";
if (!addr) {
// pull error
}
私が以下を実行すると、それは機能します:
if (addr) {
}
必要なのは、C#メソッドのようなものString.IsNullOrWhiteSpace(value)
です。
回答:
より厳密に模倣しているがIsNullOrWhiteSpace
、null、空、または全スペースのみを検出する非jQueryソリューション:
function isEmptyOrSpaces(str){
return str === null || str.match(/^ *$/) !== null;
}
...その後:
var addr = ' ';
if(isEmptyOrSpaces(addr)){
// error
}
*編集* opは特に次のように述べていることに注意してください:
var がnullであるか、空のスペースがあるか、それとも単に空白であるかを確認する必要があります。
つまり、「ホワイトスペース」には、null、スペース、空白以外のものが含まれますが、私の答えは、オペレーションの特定の質問に答えることを目的としています。opは、たとえばタブのようなものをキャッチしたくない場合があるため、これは重要です。
/^\s*$/
。これらをキャッチするためにも使用します。
test
私が思い出すようにまたより速いです。
if (addr == null || addr.trim() === ''){
//...
}
null
比較もキャッチしますundefined
。false
合格したい場合は、を使用してください!addr
。の下位互換性のaddr.trim()
ために、とスワップし$.trim(addr)
ます。
addr
がゼロの場合にブレークダウン
使用できます if(addr && (addr = $.trim(addr)))
これには、addr
チェックを実行するときに単に無視するのではなく、実際に外側の空白を削除するという利点があります。
リファレンス:http : //api.jquery.com/jQuery.trim/
addr
整数などで初期化されている場合、回答は誤検知を返します。
isEmptyOrSpaces(str){
return !str || str.trim() === '';
}
空白をチェックするとき、c#メソッドはUnicode標準を使用します。空白には、スペース、タブ、キャリッジリターン、およびその他の多くの非印刷文字コードが含まれます。だからあなたは使う方が良いです:
function isNullOrWhiteSpace(str){
return str == null || str.replace(/\s/g, '').length < 1;
}
上記の簡易バージョン:(ここから:https : //stackoverflow.com/a/32800728/47226)
function isNullOrWhitespace( input ) {
return !input || !input.trim();
}
これを試してください
/**
* Checks the string if undefined, null, not typeof string, empty or space(s)
* @param {any} str string to be evaluated
* @returns {boolean} the evaluated result
*/
function isStringNullOrWhiteSpace(str) {
return str === undefined || str === null
|| typeof str !== 'string'
|| str.match(/^ *$/) !== null;
}
こんな風に使えます
isStringNullOrWhiteSpace('Your String');
has *any* empty spaces
ですか?それともどういう意味is all empty spaces
ですか?