質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

3回答

775閲覧

javascriptの正規表現

nyamuii

総合スコア10

標準入力

標準入力(stdin)は、プログラムが標準的に用いるデータ入力元。リダイレクトしない限り、プログラムを起動した端末のキーボードが標準入力になります。UNIX系OSやC言語に実装されて普及した概念ですが、他のOSや言語も含めた総称としても使われます。

JSP

JSP(Java Server Pages)とは、ウェブアプリケーションの表示レイヤーに使われるサーバーサイドの技術のことです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

正規表現

正規表現とは特定の文字列によるパターンマッチングを行う際に用いられる宣言型プログラミングです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/07/13 04:34

編集2020/07/13 05:30

javascriptの正規表現についての質問です。

入力された文字列が、英語(小文字でも大文字でも可)と数字が入力されていたらfalseを返したいです。
この、英語(小文字でも大文字でも可)と数字の正規表現の表記方法がわからないので、教えて頂きたいです。

JavaScript

1if (!(/^((?=.*[a-z])|(?=.*[A-Z]))(?=.*[0-9]){8,16}$/i.test(text))) { 2 flag = 1; 3 document.getElementById("ngtext").innerHTML = "英数字を含む文字列を入力してください"; 4 document.getElementById("ngtext").style.display = "block"; 5 }

このままでは、小文字英、大文字英、数字のすべてが入っていないとfalseになってしまうので、「小文字英または大文字英」と表記するにはどうしたらよいのでしょうか?お願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/07/13 04:43 編集

「英語(半角でも全角でもOK)と数字が入力されていたら」の意味が あいまいすぎ。英語半角のみ、英語全角のみ、数字半角のみ ならOKということですか?もうすこしわかりやすくお願いします
nyamuii

2020/07/13 05:29

曖昧な表記ですみません。また、全角でなくて大文字でした。申し訳ございません。 (大文字英語or小文字英語)and数字 です。宜しくお願い致します。 例: 1111 //false aaaa //false aAaA //false 12wq //true 12QW //true 12qW //true
guest

回答3

0

ベストアンサー

英数大文字小文字以外が入っていることはチェックしなくて良いのでしょうか?

javascript

1var list=["1111","aaaa","aAaA","12wq","12QW","12qW"]; 2list.forEach(x=>{ 3 const flg=/[a-z](?=[0-9])|[0-9](?=[a-z])/i.test(x); 4 console.log([x,flg]); 5});

投稿2020/07/13 06:02

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

要件が曖昧に感じましたが、ご質問のコードで /PATTERN{8,16}$/i になっていることから、「パスワードチェック用のパターン」と捉えました(以下のリンク先が参考になると思います)。

修正依頼欄で示された例に対応する

例:

1111 //false
aaaa //false
aAaA //false
12wq //true
12QW //true
12qW //true

4文字以上16文字以下の文字列に変化させるとご所望の結果になります。

javascript

1const samples = [ 2 "1111", // false 3 "aaaa", // false 4 "aAaA", //false 5 "12wq", //true 6 "12QW", //true 7 "12qW" //true 8]; 9const RE_PW = /^(?=.*?[a-z])(?=.*?\d)[a-z\d]{4,16}$/i; 10for( let sample of samples ) { 11 console.log( sample, RE_PW.test(sample) ); 12}

投稿2020/07/13 05:58

AkitoshiManabe

総合スコア5434

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

(英大文字、英小文字、数字のいずれかの文字)が含まれている、と考えてください。「含んでいる場合」のマッチには/^・・・$/と書く必要はありません。
ところで、「含まれている」でいいんですかね?「1+2」のように、それ以外を含んでいてもOKですか?

JavaScript

1if (!/[A-Za-z0-9]/.test(text))

投稿2020/07/13 04:40

編集2020/07/13 06:21
magf

総合スコア212

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問