Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 覆盖angular.js变量编号\u REGEXP_Javascript_Angularjs_Global Variables - Fatal编程技术网

Javascript 覆盖angular.js变量编号\u REGEXP

Javascript 覆盖angular.js变量编号\u REGEXP,javascript,angularjs,global-variables,Javascript,Angularjs,Global Variables,我需要在数字输入字段中验证科学符号格式的数字 为此,我在angular.js文件行中替换了以下常量:18652 v0.13: var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE]+[-]?\d+)?\s*$/; //var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/; 现在,0.045e-10等值被接受为类型编号输入中的数字 我希望从我的应用程序而不是angular.js文

我需要在数字输入字段中验证科学符号格式的数字

为此,我在angular.js文件行中替换了以下常量:18652 v0.13:

var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE]+[-]?\d+)?\s*$/;
//var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/;
现在,0.045e-10等值被接受为类型编号输入中的数字

我希望从我的应用程序而不是angular.js文件中执行此操作,以便不必记住在更新框架文件时再次更改此操作

我试图简单地覆盖主应用程序控制器的第一行,如:

NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE]+[-]?\d+)?\s*$/;
但是没有起作用


如何做到这一点?

对要接受此格式的输入创建自己的验证。 您可以创建自己的包含正则表达式的常量

module.constant('SCIENTIFIC_NOTATION_NUM_REGEX', /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))([eE]+[-]?\d+)?\s*$/);
然后将其注入到您想要使用它的任何控制器或指令上,并在模板上使用它

<input name="scientificNotationNum" ng-pattern="ctrl.SCIENTIFIC_NOTATION_NUM_REGEX">
此示例反映了使用视图上的controllerAs将常量绑定到控制器实例的情况。 另一种可能是将其绑定到$scope。 或者你可以在整个应用程序中重复使用。

可能会有所帮助