我在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,也许其他编辑器更好?)。
有没有办法在一个正则表达式中包含引号和双引号?
答案 0 :(得分:2)
您可以为这些实体使用十六进制值,\x22
使用"
,\x27
使用'
:
$scope.regex= "/^[A-Za-z\x22\x27 ]{1,45}$/";
你不需要外括号。
您可以对其进行测试here。
或者这是一个片段,显示它适用于ng-pattern
属性:
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;