PHP正则表达式模式作为字符串到Javascript变量

PHP正则表达式模式作为字符串到Javascript变量,javascript,php,arrays,regex,json,Javascript,Php,Arrays,Regex,Json,所以,这可能不像我在花了一个新的小时寻找后所希望的那样直截了当。。。因此,为什么我在浏览了其他人的网页后却写下了自己的问题。它通常会让我想到一个关于PHP到JS正则表达式兼容性或转换的问题,而这不适用于我的问题——据我所知,请随意更正 我的目标是创建一个自定义验证规则的JSON数组,在JS formvalidation插件中使用,该数组在PHP中使用CI作为MVC框架生成服务器端 此自定义验证规则数组当前在PHP控制器中生成,经过JSON编码,传递给视图,然后通过JSON.parse解析为变量,

所以,这可能不像我在花了一个新的小时寻找后所希望的那样直截了当。。。因此,为什么我在浏览了其他人的网页后却写下了自己的问题。它通常会让我想到一个关于PHP到JS正则表达式兼容性或转换的问题,而这不适用于我的问题——据我所知,请随意更正

我的目标是创建一个自定义验证规则的JSON数组,在JS formvalidation插件中使用,该数组在PHP中使用CI作为MVC框架生成服务器端

此自定义验证规则数组当前在PHP控制器中生成,经过JSON编码,传递给视图,然后通过JSON.parse解析为变量,以获得所需的基于对象的结构,而不是字符串;这是最简单的一点,很有效

这是踢球者,我被卡住了;验证规则中的一个参数可以是正则表达式模式。在PHP数组中,它必须保留在引号内,但是当它碰到JS时,它需要从引号中取出,才能成为正则表达式对象?不确定这是否是正确的术语

我研究了如何使用RegExp对象创建一个新的正则表达式;var x=新的RegExpstring,/modifier;例如但问题在于,当您不知道密钥将是什么时,将正则表达式嵌套在JSON数组中

我目前的结构如下:

验证规则的PHP数组,按照插件文档要求的结构:

$formValidationConfig = array(

        // Validation rules to be passed to the formvalidation plugin

        'name'  =>  array(

                        // Optional
                        // Element name as the array key

                        // Formatting of the array content:
                        // http://formvalidation.io/settings/#settings-structure
                        // [key] Validators (necessary wording) => [sub array]
                        //                                         [key] Validation Rule => [sub array]
                        //                                                                  [key] Validation Rule Name  => [val] Validation Parameter :: optional pair
                        //                                                                  [key] Error Message         => [val] Message Content

                        'validators' => array(

                                            'notEmpty'      =>  array(
                                                                    'message'   =>  'The full name is required'
                                                                ),
                                            'regexp'        =>  array(
                                                                    'regexp'    =>  '/^[a-zA-Z\\\s]+$/',    // Optional
                                                                                                            // The triple backslash is necessary due to JS and JSON both parsing the array
                                                                    'message'   =>  'The full name can only consist of alphabetical characters'
                                                                ),
                                            'stringLength'  =>  array(
                                                                    'max'       =>  50, // Optional
                                                                    'message'   =>  'The full name must be less than 50 characters'
                                                                )
                                        )
                    )
    );

// -----
// Further down the page (scroll)
// -----

$page = array(
    'formValidationConfig'  =>  json_encode( $formValidationConfig )
);
用于解析数组的Javascript:

var validationRules = JSON.parse( '<?=$formValidationConfig;?>' );
除了正则表达式外,它适用于所有的东西。所有对象和属性设置正确后,bar显然。。。正则表达式

我有一些想法:

以单独的数组发送正则表达式项。一旦它们到达页面,解析它们int RegExp对象,但以某种方式引用PHP数组中预定义的变量名。 循环遍历JSON数组并解析出字符串引号,将正则表达式留在JSON数组中。 请给我灌输一些知识,教我哪里出了问题


提前谢谢

var re=新的正则表达式;?你试过没有打开和关闭“/”吗?@RonDadon,效果很好!非常感谢。我不敢相信这件事这么简单。。。然而,似乎总是这样!哈哈
Object
    name: Object
        validators: Object
            notEmpty: Object
                message: "The full name is required"
            regexp: Object
                message: "The full name can only consist of alphabetical characters"
                regexp: "/^[a-zA-Z\s]+$/"
            stringLength: Object
                max: 50
                message: "The full name must be less than 50 characters"