Javascript Don';不允许用户键入管道字符'|';以输入形式AngularJS
我知道ng模式可以用来允许字符。我正在寻找一种方法来限制一个特定的字符 我的输入框应该可以使用垂直条“|”以外的任何字符。我想抛出一个错误,只是不允许它被打印出来。有没有一个简单的方法,就是不允许特定的字符。或者我应该只使用ng模式来包括除了竖条以外的所有内容吗?(我该怎么做?) 我的html:Javascript Don';不允许用户键入管道字符'|';以输入形式AngularJS,javascript,angularjs,regex,Javascript,Angularjs,Regex,我知道ng模式可以用来允许字符。我正在寻找一种方法来限制一个特定的字符 我的输入框应该可以使用垂直条“|”以外的任何字符。我想抛出一个错误,只是不允许它被打印出来。有没有一个简单的方法,就是不允许特定的字符。或者我应该只使用ng模式来包括除了竖条以外的所有内容吗?(我该怎么做?) 我的html: <td class="col-xs-3"> <input type="text"
<td class="col-xs-3">
<input type="text"
name="Application"
ng-model="list.Application"
maxlength="64"
required />
<div ng-messages="addForm.Application.$error"
ng-if="addForm.$submitted"
</div>
</td>
您需要在输入中添加一个
,并使用一个限制文本输入的正则表达式
此正则表达式必须与文本匹配,因此,需要检查完整输入是否没有管道符号
你需要:
^
-字符串的开头
[^ |]*
-零个或多个符号,而非
(将*
替换为+
以禁止空输入)
$
-字符串结束
因此,使用
ng-pattern="/^[^|]*$/"
/…/
是正则表达式分隔符,它可以让angular知道我们传递的是正则表达式对象而不是字符串
另外,ng-pattern=“[^ |]*”
也应该工作,因为默认情况下,字符串模式是以角度锚定的。ng-pattern
可以非常简单:)我如何使用ng-pattern不允许垂直条?这是否意味着我必须使用ng模式来允许除此之外的所有可能的字符?有更好的方法吗?否定字符类有什么问题?使用一个。如果您需要更具体的帮助,请使用您尝试的正则表达式模式更新问题。@WiktorStribiżew我不知道任何正则表达式。我应该使用什么正则表达式来允许除|