javascript - var X=Y 仅在空格之前传输字符串。 Y = regex.exec(字符串);

标签 javascript regex angularjs

我正在验证输入文本是否为 a-z 或 A-Z 或 \s 即空格。

$scope.change= function(){
var regex = /(?:[a-zA-Z|\s]+)/;
var match = regex.exec($scope.userInputName);

上面的代码有效,match 仅捕获字母或空格。 但是当我发表以下声明时

        $scope.userInputName = match;

$scope.userInputNam 变量仅相当于任何空格之前的字符串。因此,如果 match 持有 abc d $scope.userInputName 只会等于 abc

我正在使用 Angular 来称呼这个名字

最佳答案

match 将返回一个数组,而不是字符串(如果字符串不匹配,则返回 null)。

如果您想要匹配的内容,这些内容位于数组的第一个条目中:

if (match) {
    $scope.userInputName = match[0];
}

更多内容请参见 the specification以及 MDN .

关于javascript - var X=Y 仅在空格之前传输字符串。 Y = regex.exec(字符串);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18548596/

相关文章:

javascript - 多个 ng-init 范围问题

javascript - 如何更改嵌套 for 循环中的 promise ?

JavaScript 对数组元素进行分类并输出为 HTML

javascript - 将搜索输入和结果合并为一个输入和一个结果

javascript - 如何使用 angularjs 过滤器从字符串中删除制表符 (\t)?

使用递归表达式匹配嵌套大括号的正则表达式?

angularjs - 使用 AngularJS $http 从 API 检索和显示数据

javascript - 使用 Angular 和 Symfony 进行路由

javascript - Magnific Popup - 向 iframe 添加额外的类

regex - 用perl仅替换多个文件中的第一个匹配项