###質問
コメントフォーム実装中です。
PHPとJavaScriptにて、「文字が何も入力されてないように見える場合」を判定したいと思っています。
具体的には「空文字、改行、スペース、タブ、だけである」ということです。(でいいかと思っていますが、どうでしょうか。)
下記のコードを試した感じでは特に問題ないように見えるのですが、見落としがないかが不安なので、もし見落としや、また注意や改善などご意見がありましたらば教えていただけませんでしょうか。
php
1function is_white($v){ 2 return trim($v) == '' || preg_match("[\A(\s| )+\z]", $v); 3}
js
1function is_white(v){ 2 return !v || !v.match(/\S/g); 3} 4
###加筆1
その後、yambejp様のご回答により、上記PHP側コードでは「Unicode 2000」〜「Unicode 200A」がはじけないことがわかりましたため、PHPは以下ですといかがでしょうか?
php
1function is_white($v){ 2 return preg_match('/^\s*$/u', $v); 3}
###加筆2
さらに調べたのですが、PHPは以下の方がいいのでしょうか?
php
1 2function is_white($v){ 3 return gettype($v) === 'string' && !preg_match("/\A(\s+|)\z/u",$v); 4}
そしてJavaSctipはmodieu様のご回答によりこちらでよさそうに思えます。
javascript
1function is_white(v){ 2 return typeof(v) === 'string' && /^\s*$/.test(v); 3}
もしまだはじけないものがあれば宜しくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/13 18:24