我写过ng-pattern,不以空格开头和结尾。 并尝试在$ watch中匹配双引号。
但它不起作用。 ng-pattern也无效
我的ng-pattern是:
<input type="text" class="form-control" ng-model="wifiResult.ssid"
name="ssid"
ng-class="{'inputError' : errorMsg}"
ng-minlength="1"
ng-maxlength="32"
ng-pattern="/^[^\s]+(\s+[^\s]+)*$/"
required >
JS中的$ watch是:
$scope.$watch('wifiResult.ssid', function(scope){
var regexToRestrict = /^["]+$/;
if(scope){
var pressChar = scope.slice(-1);
if(pressChar.match(regexToRestrict)){
scope = scope.slice(0,-1); // try to replace " to blank
}
else{
console.log('not matched');
}
}
else{
console.log('no scope');
}
});
还有其他办法吗?
提前致谢!
答案 0 :(得分:0)
您可以在html中将正则表达式更改为喜欢此ng-pattern='/^[^\\\\./:*?\"<>|][^\\\\/:*?\"<>|]{0,254}$/'
,以防止用户输入(“)输入和表单可能会抛出错误,说明输入无效。
在角度ng-trim
中默认设置为true,因此在分配给ng-model
之前,系统会删除用户输入周围的任何空白区域。
除非您希望每次用户尝试在输入字段中输入某个值时输入值(“)都是免费的,否则您不需要观察者。每次用户更改内容时都需要进行不必要的操作。” p>