我有以下输入-窗体-控件:
input.form-control(
ng-model='controller.password'
ng-minlength='1'
ng-maxlength='8'
name='password'
type="{{ controller.passwordShowType }}"
ng-pattern='controller.PASSWORD'
required
)
PASSWORD = /^[A-Za-z0-9!-@#$%^&*()+<>]{1,8}$/;
'abcdefghijklmnopqrstuvwxyz!@#$%^&*()-+<>ABCDEFGHIJKLMNOP1234567890'
但是如果我像上面那样使用我的regex,我可以输入'、'或‘。符号。正确的正则表达式是什么?
regex的问题是在方括号(字符集)中使用!-@
。Regex认为您试图说“匹配char!
和char@
之间的所有chars”(char code33-64),而不是“use on of[!-@]”。将hypen放在字符集的开头或结尾,或用反斜杠转义。
另见http://www.regular-expressions.info/charclass.html
在大多数regex类型中,字符类中唯一的特殊字符或元字符是闭括号]、反斜杠\、插入符号^和连字符-。
基本上,你必须把连字符放在它们无效的地方,或者把它们转义。
您还可以在http://regexr.com/输入regex以获得regex语法高亮显示--这会使错误变得相当明显,因为连字符的颜色不同。
问题内容: 我正在尝试允许用户使用和编辑项目列表。(请参阅此小提琴。)但是,我尝试过的两种方法都导致了奇怪的行为:一种方法没有更新模型,另一种方法使每个keydown的表单模糊。 我在这里做错什么了吗?这不是受支持的用例吗? 这是小提琴中的代码,为方便起见进行了复制: 问题答案: 这似乎是一个具有约束力的问题。 建议是不要绑定到基元。 您应该遍历集合内的字符串,而应该遍历对象。解决您的问题 j
问题内容: 我是AngularJS的新手,我遇到的一个问题是无法解决,在stackoverflow上也有类似的问题,但似乎并没有帮助我。我基本上有一个可以通过ng- click更新的表单,但是一旦我在任何文本框中输入文本,这些文本框就不再更新。 这是我的HTML 这是有人单击链接时调用的我的函数 问题答案: 您的链接需要登录。 如果我不得不猜测您的问题,则可能与角度范围问题有关。尝试将ng-mod
我有一个文本输入,我不想允许用户使用空格,所有键入的都会变成小写。 我实际上是在尝试创建“标记”特性,它的工作原理与StackOverflow上的特性类似。
我发现了以下模式: 这是一个可以在HTML5表单中使用的正则表达式。 它验证字段是否使用逗号和两个小数。 它可以在文本框上使用,如下所示: null
可以输出文本。 用法 Your browser does not support the video tag. 案例:标签标签 功能:显示输入的字母。
对此,作者提出了建议