ある正規表現のパターン属性を持つ入力フィールドがある場合、その入力DOMエレメントにアクセスできるJavaScript/JQuery関数があり、その中の現在の値がパターンは?JavaScriptで入力フィールドを検証する方法
0
A
答えて
2
あなたが使用する必要がありますHTML5 Validity Frameworkそれ用に設定検証してきた各フィールドのvalidity
オブジェクトを提供します(セクション「JavaScriptを使用して検証フォーム」を確認してください)。このvalidity
オブジェクトは、「有効性制約」のセット(HTML5がネイティブに提供する検証の種類ごとに1つ)を公開します。
あなたの場合、無効な要素であるかどうかを確認するには、要素のvalidity.patternMismatch
をチェックします。しかし、1つのタイプの検証だけが要素に適用される場合は、validity.valid
で十分です。
以下、フォームフィールドには必須で、パターンが設定されています。この場合、フィールドが無効であることがわかっているだけでは不十分である可能性があるため、要素が無効かどうかを示すだけでなく、個々の制約をチェックして理由を確認できることを示します。
データを入力せずに[送信]ボタンをクリックしてみてください。それは要素が無効であることを伝えますが、制約レポートを見ると、その場合にはvalueMissing = true
が表示されます。次に2文字だけ入力してみてください。それでも無効と表示されますが、その場合はpatternMismatch = true
が表示されます。
var field = document.getElementById("ss");
var btn = document.getElementById("btnValidity");
btn.addEventListener("click", function(evt){
console.clear();
// You can test for simple validity with the valid property
console.log("Is field valid? " + ss.validity.valid);
// And, you can get more specific by checking all the validity constraints
// Here, we're just looping the entire set for demo purposes
for(var constraint in ss.validity){
if(ss.validity[constraint]){
console.log(constraint + " = " + ss.validity[constraint]);
}
}
});
/* Valid and invalid elements can show their state in real time with CSS pseudo-classes */
input[type=text]:active, input[type=text]:focus { outline:none; }
input[type=text]:valid { box-shadow:0 0 3px green; }
input[type=text]:invalid { box-shadow:0 0 3px red; }
SS#: <input type="text" required pattern="^\d{3}-\d{2}-\d{4}$" id="ss" placeholder="xxx-xx-xxxx">
<button id="btnValidity">Check validity</button>
1
HTMLInputElement.checkValidity()
、supported by IE 10 and later、一度にすべての制約をチェックします。
console.log(document.getElementById('a').checkValidity())
console.log(document.getElementById('b').checkValidity())
<input id="a" pattern="a+" value="aaaa" />
<input id="b" pattern="a+" value="aaba" />
0
$(function() {
var $input = $('#my-input');
$input.on('change', function() {
var pattern = $input.attr('data-my-pattern-attr');
var regex = new RegExp(pattern, "g");
if ($input.val().match(regex)) {
console.log('matches');
} else {
console.log('no match');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="my-input" data-my-pattern-attr="[a-z]+" />
関連する問題
- 1. 基本入力フィールドの検証JavaScriptの
- 2. JavaScriptでマウスホイールイベントで入力フィールドを検証する際の問題
- 3. JavaScriptで3つの数値入力フィールドを検証する
- 4. ionic2の入力フィールドを検証する方法は?
- 5. Laravel JsValidator配列入力フィールドを検証する方法は?
- 6. Python - tkinterの入力フィールドを検証する方法
- 7. React - Mobx検証入力フィールド
- 8. 隠し入力フィールドを検証する
- 9. 入力フィールドを検証する
- 10. 入力IDのJavascript検証
- 11. javascript入力の検証
- 12. JQueryでの入力フィールドの検証
- 13. は、私は次の入力フィールドがあり、インライン検証方法と検証クラス
- 14. javascriptを使用した入力フィールドの検証
- 15. jQueryで複数の同一の入力フィールドを検証する方法は?
- 16. minlength入力フィールドの検証 - JQuery
- 17. 個々の入力フィールドのラーバル検証
- 18. フィールド入力が自動的に入力された場合、Parsley JSでフォームフィールドを検証する方法は?
- 19. jqueryデータテーブルの入力フィールドにクライアント側の検証を適用する方法
- 20. Ember.js 2.7 - 入力フィールドの検証方法を確認するには?
- 21. React?で入力された入力テキストを数値で検証する方法
- 22. GSheetsにユーザー入力の検証/ Javascriptを
- 23. 検証は私が登録フォームを作成し、入力フィールドにJavaScriptでの検証を作成している
- 24. jQueryとRegexでカスタム入力URLフィールドを検証する
- 25. フォーム入力フィールドをjavascript配列に読み込んだ後に検証する
- 26. 入力と出力の検証を改善する方法
- 27. JavaScriptでHTML入力フィールドを非表示にする方法
- 28. 日付入力の検証方法
- 29. 入力の検証方法は?
- 30. jQueryの検証で入力フィールドの最後にカーソルを置く方法は?
質問はjQueryを使ってタグ付けされていませんでした。 –
@ScottMarcus OPは "javascript/jquery"を質問に指定します。 – hyubs
ああ、それを見ていない。タイトルと質問はJavaScriptでのみタグ付けされています。 –