如何在ng-regex中加入qutoes +双引号?

时间:2016-05-16 15:00:34

标签: javascript android angularjs regex

我在android studio中开发了phonegap应用程序。

我有一个输入字段,必须允许abc字符,引号和双引号 想要HTML代码:

 <input placeholder="last name" type="text" ng-model="currentUser.LastName"
                       ng-pattern='/^([A-Za-z\"\' ]){1,45}$/'
                       required
                       class="form-control"/>

但是我有一个问题 - 正则表达式中的引号关闭了整个正则表达式 我能做什么:

ng-pattern='/^([A-Za-z\" ]){1,45}$/'

ng-pattern="/^([A-Za-z\' ]){1,45}$/"

但我也无法找到包含引号和双引号的方法。

我试过了:

范围:

$scope.regex=/^([A-Za-z\"\' ]){1,45}$/;

在html页面中:

<input placeholder="last name" type="text" ng-model="currentUser.LastName" name="userLastName1"
                       ng-pattern='{{regex}}'
                       required
                       class="form-control"/>

它也不起作用(我的编辑器是android studio,也许其他编辑器更好?)。

有没有办法在一个正则表达式中包含引号和双引号?

1 个答案:

答案 0 :(得分:2)

您可以为这些实体使用十六进制值,\x22使用"\x27使用'

$scope.regex= "/^[A-Za-z\x22\x27 ]{1,45}$/";

你不需要外括号。

您可以对其进行测试here

或者这是一个片段,显示它适用于ng-pattern属性:

&#13;
&#13;
function formCtrl($scope){
  $scope.onSubmit = function(){
    alert("form submitted");
  }
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app ng-controller="formCtrl">
  <form name="myForm" ng-submit="onSubmit()">
    <input type="text" name="field" ng-model="formCtrl" ng-pattern="/^[A-Za-z\x22\x27 ]{1,45}$/" required placeholder="last name">
    <span ng-show="myForm.field.$error.pattern">Not valid!</span>
    <span ng-show="myForm.field.$error.required">This field is required!</span>
    <input type="submit" value="submit"/>
  </form>
</div>
&#13;
&#13;
&#13;