No.4ベストアンサー
- 回答日時:
No.2です。
制御コードも含める、というのであれば、16進数のコードで範囲指定すればいいのではないでしょうか。if (ereg("^[\x01-\x7f]*$", $str)) {
※\x00からにすると、null文字と見なされてPHPがWarningを出してしまったので\x01からになっています。
ereg("^[\x01-\x7f]*$", $str)
なるほど、こういうやり方があるんですね。これで思ったとおりに動作しました。改行コードやタブ、エスケープなども問題ないようです。
ありがとうございました。
No.3
- 回答日時:
#1です。
質問内容と補足に書かれたコードがあってません。
$str の中に「半角英数記号」以外の文字が1文字でもあるかどうかを調べたいという質問じゃなかったのですか?
if (ereg("[^!-~]", $str)) {
echo "半角英数記号以外がある";
} else {
echo "すべて半角英数記号である";
}
空白は記号じゃないという判断で[^!-~]にしましたが、もし空白も記号に入れるなら[^ -~]です。改行コードはまさか記号に含めないですよね?
この回答への補足
質問は「ASCII文字列以外を検出する正規表現を教えてください」です。空白や改行、タブやエスケープなどもASCII文字列だと思います。
補足日時:2007/01/12 07:09No.2
- 回答日時:
$strに空白や\n\r(改行)も入ってますが、これらも含めるのですか?
空白を含めて改行は含めないのなら、
if (ereg("^[ -~]*$", $str)) {
とすればいいと思いますが、改行も含める(複数行のパターンマッチを行う)のであれば、
if (preg_match("/^[ -~]*$/m", $str)) {
とすればいかがでしょうか。
if (preg_match("/^[ -~]*$/m", $str)) {
として試してみましたが、$str = "aAzZ\n\r &*()#あ@"; のように日本語を含めた場合も true が返ってしまいました。
No.1
- 回答日時:
[^!-~]
半角記号の最小値!と最大値~の範囲の否定で表します。英数字もこの範囲に含まれます。
この回答への補足
[^!-~]を試して見ましたがうまく行きませんでした。
PHPで以下のようにやっているのですがこれをどのように変えたらいいでしょうか?
$str = "aAzZ\n\r &*()#@";
if (ereg("^[a-zA-Z0-9]*$", $str)) { // このままだと英数字のみ検証
echo "すべてASCII文字である";
} else {
echo "すべてASCII文字ではない";
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- YouTube 日本語文向けの正規表現が学べるサイトやYouTubeチャンネルがあったら教えてほしいです。 「正規表 6 2022/04/26 07:02
- その他(コンピューター・テクノロジー) 正規表現の置換で数値を合計したいです。 2 2022/10/17 11:01
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- Excel(エクセル) Excelで校閲をする方法はあるでしょうか(取扱説明書への掲載禁止用語の確認) 3 2022/06/11 22:51
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- Excel(エクセル) 【Excel】指定のセル内容を基に別シートのセルを検索して選択する【VBA】 1 2022/06/16 16:16
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#のシリアル通信プログラムで...
-
Excel VBA 見本通りに...
-
Eclipseの空白が変な...
-
Pythonの勉強を始めました。バ...
-
ASP.NET TextBox 入力制限
-
Fortranのフォーマット
-
氏名の入力チェックに全角スペ...
-
ASCII文字列以外を検出する正規...
-
ホームページ制作でコピーライ...
-
XMLを作成してもタグしか表示さ...
-
GoogleChromeでレイアウトが左...
-
掲示板からIPアドレスってど...
-
<TD><input type="text"></TD>...
-
隠しリンク、裏ページ、等を見...
-
テキストエリア内の改行禁止
-
DBからPDFを取得して別画面で表...
-
下着などの洗濯タグ、どうやっ...
-
H1タグに改行の<br>を使う
-
ハイパーリンクからメニュー無...
-
指定URLを新しいウィンドウで開...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 見本通りに...
-
ASP.NET TextBox 入力制限
-
ASCII文字列以外を検出する正規...
-
Pythonの勉強を始めました。バ...
-
半角スペースを含む文字列を変...
-
php でtabを空白に変換して表示...
-
JavascriptでIMEのON,OFF制御
-
ホームページ制作でコピーライ...
-
stray '\\240' in programのエ...
-
氏名の入力チェックに全角スペ...
-
ソースコードの改行文字は何に...
-
ボタンコントロールのTEXT...
-
入力されたテキストが、全角か...
-
Eclipseの空白が変な...
-
指定した文字を始点にスペース...
-
C#のシリアル通信プログラムで...
-
Firefoxでのテキストエリアに入...
-
JSONパース時に改行があるとエ...
-
JSで全角英数記号を半角英数記...
-
カラムの末尾にスペースが入る
おすすめ情報