2012-11-15 78 views
2

這對於某人來說無疑是一個簡單的問題。
我發現這個模式的jQuery:逗號在我的正則表達式中意味着什麼

/^([0-9]{0,12})$/,/^[0-9]{1,12}[\,]{1}(|[0-9]{0,4})$/ 

/^([0-9]{0,12})$/ 

/^[0-9]{1,12}[\,]{1}(|[0-9]{0,4})$/ 

我不明白的格局。
我唯一的問題是,我找不到通過谷歌:逗號是什麼?
他正在檢查兩種模式還是這個逗號做了一些特別的事情?


這裏是鏈接 http://freedns.remdex.info/JQuery-simple-input-validation-plugin-74a.html

所以當他接受數組就意味着他檢查是否如果這是真的?

+2

'preg_match'在PHP中,而不是在JQuery中。 –

+0

你在哪裏找到了這個,給我們提供了一個鏈接 –

+0

什麼是「jQuery模式」? – JAAulde

回答

0

如果這是PHP

的preg_replace接受數組作爲參數

$str = preg_replace('/[\\r\\n!.,\'「」;’?-\s+]/', ' ', $str); 
$str=preg_replace('/\s+\S{1,2}(?!\S)|(?<!\S)\S{1,2}\s+/', '', $str); 

是equalnt到

str = preg_replace(array('/^([0-9]{0,12})$/','/^[0-9]{1,12}[\,]{1}(|[0-9]{0,4})$/'), array(' ', ''), $str); 
+0

我想你錯過了一些代碼中的一些引號 – JAAulde

+0

Im sorry對於我在帖子中發佈的錯誤。 – dewnor

+1

非常感謝您的幫助! – dewnor

2

既然你說你的actual source我們可以來到公司nclusion的全線爲:

$("#only_int_float").rval([/^([0-9]{0,6})$/,/^[0-9]{1,6}[\.|,]{1}(|[0-9]{0,2})$/]); 

正如你可能會注意到,有[]括號,這意味着這是一個數組。所以基本上,這將是相同的,如下所示:

var regexes = new Array(
    /^([0-9]{0,6})$/, 
    /^[0-9]{1,6}[\.|,]{1}(|[0-9]{0,2})$/ 
); 
$("#only_int_float").rval(regexes); 

在同一來源,你可以找到的代碼:

$.each(
    regularExpression, 
    function(intIndex, objValue){ 
     var re = new RegExp(objValue);           
     if((re.exec(instance.value) || instance.value == '') && allOk == false) 
     { 
      allOk = true;         
     } 
    } 
); 

這意味着「在變量regularExpression每個正則表達式,運行下面的函數(其中它檢查是否正則表達式匹配)。

allOk顯然被設置爲true,如果有隻是一個比賽,所以你可以使用這個數組作爲OR聲明(如果正則表達式#1不匹配,檢查regex2等等)

相關問題