我必须验证输入字段,但是当用户在输入中复制和粘贴某些内容时出现问题
这是我的代码
<input type="text" ng-change="calculate()" ng-pattern="coordsPattern" ng-model="from" class="input-coords" placeholder="(x|y)">
coordsPattern 是:
$scope.coordsPattern = /^\(?\-?\d{1,3}\|\-?\d{1,3}\)?$/;
输入可以采取
(158|158)
-158|158
(-158|158
.....ETC
但是当用户从不同的页面复制并粘贴相同的内容时,取决于浏览器到浏览器,输入看起来像(158|158)
但模式无效,因为复制时字符之间存在隐藏的选项卡或空格。例如
((tab)(tab)158(tab)|(tab)(tab)-158(tab)
但是在输入文本中(158|-158
,对于用户来说
,输入是有效的输入是有效的(因为在calculate()
函数中我从空格和制表符中清除了输入)但是对于该模式无效并且角度不执行该calculate()
函数。
这是包含隐藏标签的复制粘贴文本
(-91|-18)
谢谢
编辑
这是字符串的 var_dump
string '(â€-â€91‬‬|â€-â€18‬‬)' (length=33)
它包含特殊字符!既不是制表符也不是空格!
也许我必须找到一个不同的解决方案来验证输入......