簡體   English   中英

無法在jQuery表單驗證插件中轉義反斜杠和符號

[英]can`t escape backslash and ] symbol in jQuery form validation plugin

我正在使用jQuery表單驗證插件,並使用正則表達式來驗證一個字段。 這是一些代碼:

$.validator.addMethod('regex',
            function(value, element, regexp) {
            var check = false;
            var re = new RegExp(regexp);
            return this.optional(element) || re.test(value);
             },
    "" );    

<input id="school" name="school" type="text" style="float: left" />

$("#school").rules("add", { regex: "^[a-zA-Z0-9]*$"});

但我想在這個領域使用\\]符號。 使用反斜杠轉義這些字符沒有任何幫助,即使這里提到的3或4個反斜杠也是如此

編輯
謝謝。 這真是我的錯。 我更新了正則表達式來驗證不同的符號(也是反斜杠和])

$("#school").rules("add", { regex: /^[a-zA-Z0-9\',!;\<>\?\$\^:\\\/`\|~&\" @#%\*\{}\(\)\[\]_\+\.\s=-]*$/ }); 

它現在有效。

這應該工作:

'^[a-zA-Z0-9\\]\\\\]*$'

之前的兩個反斜杠在最終字符串中給出一個反斜杠,這個反斜杠轉義符號。 四個反斜杠在最終字符串中產生兩個反斜杠(兩個轉義反斜杠),這兩個反斜杠傳遞給RegExp構造函數,給出一個反斜杠。

這是一個簡單的演示: http//jsfiddle.net/CsQn7/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM