変数が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の特定の質問に答えることを目的としています。たとえば、opはタブなどをキャッチしたくない場合があるため、これは重要です。
if (addr == null || addr.trim() === ''){
//...
}
null
比較もキャッチしますundefined
。false
合格したい場合は、を使用して!addr
ください。逆方向のブラウザ互換性については、を交換addr.trim()
して$.trim(addr)
ください。
使用できますif(addr && (addr = $.trim(addr)))
addr
これには、チェックを実行するときに単に無視するのではなく、実際に外側の空白を削除するという利点があります。
古い質問ですが、もっと簡単な答えに値すると思います。
あなたは簡単に行うことができます:
var addr = " ";
if (addr && addr.trim()) {
console.log("I'm not null, nor undefined, nor empty string, nor string composed of whitespace only.");
}
上記の簡略版:(ここから:https ://stackoverflow.com/a/32800728/47226 )
function isNullOrWhitespace( input ) {
return !input || !input.trim();
}
に相当する独自のメソッドを作成できます
String.IsNullOrWhiteSpace(value)
function IsNullOrWhiteSpace( value) {
if (value== null) return true;
return value.replace(/\s/g, '').length == 0;
}
isEmptyOrSpaces(str){
return !str || str.trim() === '';
}
空白をチェックするとき、c#メソッドはUnicode標準を使用します。空白には、スペース、タブ、キャリッジリターン、およびその他の多くの非印刷文字コードが含まれます。したがって、以下を使用することをお勧めします。
function isNullOrWhiteSpace(str){
return str == null || str.replace(/\s/g, '').length < 1;
}
isEmptyOrSpaces(str){
return str === null || str.trim().length>0;
}
これを試してみてください
/**
* 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');
function isEmptyOrSpaces(str){
return str === null || str.match(/^[\s\n\r]*$/) !== null;
}
あなたはこれを試すことができます:
do {
var op = prompt("please input operatot \n you most select one of * - / * ")
} while (typeof op == "object" || op == "");
// execute block of code when click on cancle or ok whthout input