-6

jQuery Validation プラグインを使用して正規表現を検証するにはどうすればよいですか? このコードでは、1 つの jQuery プラグイン「jQuery Validation」プラグインを使用してフォームを検証できますが、このプラグインを使用して正規表現を検証する方法はわかりません。

 <!DOCtype html>
   <html>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.min.js"></script>
<body>
<form method="post" name="signup_form" enctype="multipart/form-data">
<table>
<tr><td>First Name:</td><td><input type="text" name="first_name" placeholder="First name" required><span> *</span></td></tr>
<tr><td>Middle Name:</td><td><input type="text" name="middle_name" placeholder="Middle Name"></td></tr>
<tr><td>Last Name:</td><td><input type="text" name="last_name" placeholder="Last Name" required><span> *</span></td></tr>
<tr><td>Username:</td><td><input type="text" name="username" placeholder="Username" required><span> *</span></td></tr>
<tr><td>Password:</td><td><input id="password1" type = "password" name="password" required/><span> *</span></td></tr>
<tr><td>Re-Enter Password:</td><td><input class="left" id="password_again" type = "password"  name="password_again" required/><span> *</span></td></tr>
<tr><td>Email:</td><td> <input id="email" type="email" name="email" required/><span> *</span></td></tr>
<tr><td>Gender:</td><td><input type="radio" name="gender" value="male" required>Male <input type="radio" name="gender" value="female" required> Female<span> *</span></td></tr>
<tr><td>Date of Birth:</td><td><select name = "day" required><option value="">Day</option>
<?php for($i = 1; $i < 32; $i++){?>
<option value = "<?php echo $i;?>"><?php echo $i;?></option>
<?php }?>
</select>
<select name="month" required><option value="">Month</option>

<option value = "jan">Jan</option>
<option value = "feb">Feb</option>
<option value = "mar">Mar</option>
<option value = "apr">Apr</option>
<option value = "may">May</option>
<option value = "jun">Jun</option>
<option value = "jul">Jul</option>
<option value = "aug">Aug</option>
<option value = "sep">Sep</option>
<option value = "oct">Oct</option>
<option value = "nov">Nov</option>
<option value = "dec">Dec</option>

</select>
<select name = "year" required><option value="">Year</option>
<?php for($i = 2013; $i > 1904; $i--){?>
<option value = "<?php echo $i;?>"><?php echo $i;?></option>
<?php }?>
</select><span> *</span></td></tr>
<tr><td>Address Line 1:</td><td><input type="text" name="address1" placeholder="Address Line 1" required><span> *</span></td></tr>
<tr><td>Address Line 2:</td><td><input type="text" name="address2" placeholder="Address Line 2"></td></tr>
<tr><td>Country:</td><td><input type="text" name="country" placeholder="Country" required><span> *</span></td></tr>
<tr><td>State:</td><td><input type="text" name="state" placeholder="State" required><span> *</span></td></tr>
<tr><td>City:</td><td><input type="text" name="city" placeholder="City" required><span> *</span></td></tr>
<tr><td>Pincode:</td><td><input type="text" name="pincode" placeholder="Pincode" required><span> *</span></td></tr>
<tr><td colspan="2" align="center">
<input type="submit" value="Enter" formaction="sucess.php"></td></tr>
</table>
<script >


$("#signup_form" ).validate();</script>
</form>
</body>
</html>
4

2 に答える 2

7

jQueryは必要ありません。RegExp コンストラクターを使用して、例外をキャッチします。

try {
    new RegExp(someString);
    console.log('good'); 
} catch (e) {
    console.log('bad'); 
}

デモンストレーション(適切な形式の正規表現かどうかを知るために、入力に何かを入力します)

于 2013-08-29T10:25:57.937 に答える
3

タイトル: jQuery Validation プラグインを使用して正規表現を検証するにはどうすればよいですか?

提示された質問に答えるだけで...


引用OP:

「... jquery プラグイン「jQuery Validation」プラグインを使用してフォームを検証できますが、このプラグインを使用して正規表現を検証する方法はわかりません。

まず、jQuery Validate プラグインの縮小版と縮小版の両方を含める必要はありません。どちらかを選択してください。この例では、縮小された...

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/additional-methods.min.js"></script>

ルールを使用してpattern、正規表現を検証するだけです。ファイルをインクルードadditional-methods.jsし、正規表現をパラメーターとして宣言します。

    rules: {
        field1: {
            required: true,
            pattern: '[a-zA-Z]+'
        },
        ....

デモ: http://jsfiddle.net/36tegu4o/


jQuery by を使用してフォームをターゲットにしているため、タグ内に$("#signup_form")no がないため機能しません。これを追加する必要があります...id="signup_form"<form>id

<form name="signup_form" id="signup_form" method="post" enctype="multipart/form-data">

それ以外の場合、 を追加できない場合はid、jQuery セレクターを変更して、name代わりに をターゲットにする必要があります...

$("form[name='signup_form']").validate({ ...

または、メソッドを使用addMethodてカスタム メソッド/ルールを作成します。この場合、私はそれを呼びますmyCustomMethod...

$.validator.addMethod("myCustomMethod", function(value, element) {
    // your javascript regex function
    // return true if it passes
    // return false if it fails and the message will automatically display
}, "your custom error message");

次に、呼び出し.validate()てプラグインを初期化し、ルールを割り当てます。 myFieldNameルールを割り当てるフィールドの属性を表しnameます。DOM が操作される前に HTML が完全に構築されるようにするには、jQuery を DOM 対応のイベント ハンドラで囲む必要があります。

$(document).ready(function() {

    $("#signup_form").validate({
        rules: {
            myFieldName: {
                myCustomMethod: true
            }
        }
    });  // close validate()

});  // close document.ready

デモ: http://jsfiddle.net/HVtCy/


于 2013-08-29T20:24:57.313 に答える