php 及びjsで空白入力をNGとしたいです
空白、スペースなどの不正な入力をキャッチするよい方法を教えて下さい
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
こんな感じで!!
参考になると思います。
PHP
1<?php 2$nstxt = ""; 3if( $_SERVER['REQUEST_METHOD'] === "POST" ) 4{ 5 $str = htmlspecialchars($_POST['nstxt'],ENT_QUOTES); 6 $nstxt = preg_replace("/(\s| )/", "", $str ); 7} 8?> 9<!DOCTYPE> 10<html> 11<head> 12<title>NOT SPACE KEY</title> 13<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 14<script src="//code.jquery.com/jquery-1.11.3.min.js"></script> 15<script type="text/javascript"> 16;$(function() 17{ 18 function spaceDel(element,e) 19 { 20 var tag = $(element); 21 var txt = tag.val(); 22 var code = e.keyCode; 23 if( code === 32 ) 24 { 25 //入力時 26 tag.val(txt.replace(/\s/g,'')); 27 } 28 else( txt.indexOf('\xa0') ) 29 { 30 //コピペされた時 31 tag.val(txt.replace(/\s/g,'')); 32 } 33 } 34 $(".txti").keyup(function(e) 35 { 36 spaceDel(this,e); 37 }); 38}); 39</script> 40</head> 41<body> 42 43<p>NOT SPACE KEY</p> 44<form action="<?=$_SERVER['SCRIPT_NAME']?>" method="POST"> 45<input type="text" class="txti" name="nstxt" value="<?=$nstxt?>" /><br /> 46<br /> 47<input type="submit" value="submit" /><br /> 48</form> 49 50<body> 51</html>
投稿2015/07/27 03:42
総合スコア181
0
空白文字、を、どこまで正確に検査するかによると思いますし、JavaScript と PHP で同一にするのは難しいかもしれませんが、以下のように検査すれば概ねの空白文字は検査できそうです。
JavaScript
/^\s*$/.test(value)
参考: https://developer.mozilla.org/ja/docs/Web/JavaScript/Guide/Regular_Expressions
スペース、タブ、改ページ、改行を含む 1 つのホワイトスペース文字にマッチします。[ \f\n\r\t\v\u00A0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u2028\u2029\u202f\u205f\u3000] と同等です。
PHP
mb_ereg_match('\A\s*\z', $value)
参考: http://d.hatena.ne.jp/hnw/20090223
もっと簡潔に、「mb_ereg_match('^[\0\s]+$', $str);」でいいことがわかりました
投稿2015/07/27 02:15
総合スコア4514
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/27 03:32
2015/07/27 04:35
2015/07/27 04:41
2015/07/27 06:13
2015/07/27 06:27
2015/07/27 09:41
2015/07/27 10:31
2015/07/27 11:30 編集
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。