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

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

新規登録して質問してみよう
ただいま回答率
85.48%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

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

HTML

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

Q&A

解決済

2回答

3193閲覧

jQuey pluginのvalidate.jsでパスワードの重複表現のバリデートをしたい

YamamotoAtsushi

総合スコア17

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

JavaScript

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

HTML

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

0グッド

0クリップ

投稿2017/04/24 10:22

jqueryのform validate.jsでパスワードの重複表現をチェックしたいのですが、正規表現の書き方がわかりません。
若しくは、javascriptやjQueryで色々試しておりますが、うまく行きません。
下記コードで試すと「1111」という連続数字だけでなく、全部4桁の数字がNGになってしまいました。
正規表現でできなければ、javascriptやjQueryでも大丈夫です。
作品制作の段階なので、もちろんphp側でのサーバーサイドのバリデートはやるつもりでおります。
宜しくお願い致します。

html

1<!doctype html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 <title>パスワードの表示</title> 6 <script type="text/javascript" src="password.js"></script> 7 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script> 8 <script type="text/javascript" src="jquery.validate.min.js"></script> 9 <script> 10 $(document).ready(function(){ 11 $("#form1").validate({ 12 rules: { 13 name : { 14 required: true, 15 minlength: 4, 16 maxlength: 20 17 }, 18 password :{ 19 required:true, 20 minlength:4, 21 maxlength: 4, 22 digits:true, 23 CustomValidateUserID:true 24 } 25 }, 26 messages: { 27 name: { 28 required: "名前を入力してください", 29 minlength: "4文字以上で入力してください", 30 maxlength: "10文字以内で入力してください", 31 }, 32 password :{ 33 required:"パスワードは必須です。", 34 minlength:"4文字入力してください。", 35 maxlength:"4文字入力してください。", 36 digits:"数字のみで入力してください。" 37 } 38 }, 39 40 41 errorPlacement: function(error,element){ 42 43 error.insertAfter($('#'+ element.attr('name') + '_err')); 44 } 45 }); 46 jQuery.validator.addMethod("CustomValidateUserID", 47 function(val,elem){ 48 reg = new RegExp("^(.)\1\1\1\$"); 49 return this.optional(elem) || reg.test(val); 50 }, 51 "連続して同じ数字を入れないでください!" 52 ); 53 }); 54 </script> 55 </head> 56 <body> 57 <form action="comfirm.php" onsubmit="return passwordCheck();"method="post" id="form1"> 58 名前:<br> 59 <label id="name_err"></label> 60 <input type="text" name="name" value=""><br> 61 パスワード:<br><label id="password_err"></label> 62 <input type="password" name="password" value="" id="password1" class="require"><br> 63 パスワードを表示<input type="checkbox" onclick="checkPassword(this)"/> 64 <p><input type="submit" name="submit" value="確認画面へ"></p> 65 </form> 66 </body> 67</html>

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

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

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

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

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

s8_chu

2017/04/24 10:33

何回までの数字の重複を許可したいのでしょうか?
YamamotoAtsushi

2017/04/24 11:09

三回までの重複で、4回連続をNGにしたいと考えております。宜しくお願いします。
guest

回答2

0

ベストアンサー

的外れかもしれませんが、以下のように行ってみてはいかがでしょうか?

HTML

1<!doctype html> 2<html> 3<head> 4 <meta charset="utf-8"> 5 <title>パスワードの表示</title> 6 <script type="text/javascript" src="password.js"></script> 7 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script> 8 <script type="text/javascript" 9 src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.16.0/jquery.validate.min.js"></script> 10 <script> 11 $(document).ready(function () { 12 $("#form1").validate({ 13 rules: { 14 name: { 15 required: true, 16 minlength: 4, 17 maxlength: 20 18 }, 19 password: { 20 required: true, 21 minlength: 4, 22 maxlength: 4, 23 digits: true, 24 CustomValidateUserID: true 25 } 26 }, 27 messages: { 28 name: { 29 required: "名前を入力してください", 30 minlength: "4文字以上で入力してください", 31 maxlength: "10文字以内で入力してください", 32 }, 33 password: { 34 required: "パスワードは必須です。", 35 minlength: "4文字入力してください。", 36 maxlength: "4文字入力してください。", 37 digits: "数字のみで入力してください。", 38 CustomValidateUserID: "不正な値。" //追加。 39 } 40 }, 41 42 43 errorPlacement: function (error, element) { 44 45 error.insertAfter($('#' + element.attr('name') + '_err')); 46 } 47 }); 48 jQuery.validator.addMethod("CustomValidateUserID", 49 function (val, elem) { 50 reg = new RegExp(/(\d)\1\1\1/); //変更。 51 console.log(elem); 52 return this.optional(elem) || !(reg.test(val)); //変更。 53 }, 54 "連続して同じ数字を入れないでください!" 55 ); 56 }); 57 </script> 58</head> 59<body> 60<form action="comfirm.php" onsubmit="return checkPassword(this);" method="post" id="form1"> 61 名前:<br> 62 <label id="name_err"></label> 63 <input type="text" name="name" value=""><br> 64 パスワード:<br><label id="password_err"></label> 65 <input type="password" name="password" value="" id="password1" class="require"><br> 66 パスワードを表示<input type="checkbox" onclick="checkPassword(this)"/> 67 <p><input type="submit" name="submit" value="確認画面へ"></p> 68</form> 69</body> 70</html>

投稿2017/04/24 13:08

s8_chu

総合スコア14731

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

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

YamamotoAtsushi

2017/04/25 12:12

回答ありがとうございます。^_^ 実際にコーディングしてみたいと思います。
YamamotoAtsushi

2017/04/28 12:12

実際コーディングしてできました。ありがとうございます。
guest

0

"^(.)\1\1\1\$""^.{4}$" とかでどうなりますか?

投稿2017/04/24 13:00

kei344

総合スコア69398

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

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

YamamotoAtsushi

2017/04/25 12:14

前者は試しましたが、打ち込んだ数字が 全てNGになりました。後者はこれから 試してみたいと思います。 ありがとうございますm(_ _)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問