2

It's surely a simple question for somebody.
I found this pattern for jquery:

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

The

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

and

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

I don't understand the pattern.
My only question is and I find nothing via google: What does the comma make?
Is he checking two patterns or does this comma do something special?


Here is the link http://freedns.remdex.info/JQuery-simple-input-validation-plugin-74a.html

So when he accepts arrays it means that he checks whether if one it is true?

4

2 回答 2

2

既然您说明了您的实际来源,我们可以得出结论,整行是:

$("#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语句(如果 regex #1 不匹配,请检查 regex2 等)。

于 2012-11-15T12:04:33.987 回答
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);

等于

str = preg_replace(array('/^([0-9]{0,12})$/','/^[0-9]{1,12}[\,]{1}(|[0-9]{0,4})$/'), array(' ', ''), $str);
于 2012-11-15T11:54:15.353 回答