2012-11-15 40 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等等)

相关问题