【问题标题】:Pattern that restricts user to enter special characters for first character限制用户为第一个字符输入特殊字符的模式
【发布时间】:2017-01-06 09:50:44
【问题描述】:

我需要一个允许数字、字母和特殊字符(如 #、$、%、^ 等)的输入字段。但只有一个条件是我在文本框中输入的第一个字符不应该是特殊字符。

示例:

  1. @Test123 --无效字符
  2. Test@123 --有效字符
  3. T@est123% --有效字符

我试过这个ng-pattern="/^([a-zA-Z0-9]+)([a-zA-Z0-9 &()_+@&\-=\\|,.\/?\s]+)$/" 但不工作。

【问题讨论】:

  • 您没有将@% 符号添加到第二个字符类。也许更好的表达方式看起来像/^[a-zA-Z0-9][A-Za-z0-9_!-,.-\/:-@[-`{-~-]*$/
  • 顺便说一句,如果您不在乎第一个字符之后会有什么字符,请使用ng-pattern="/^[a-zA-Z0-9]/"。如果您不想在输入字段中允许前导/尾随空格,请不要忘记添加ng-trim="false"

标签: angularjs regex ng-pattern


【解决方案1】:

试试这个

ng-pattern="/^[a-zA-Z0-9]+[^]*$/"

[a-zA-Z0-9]+ 表示字母或数字之一,并且

[^]* 代表一切

【讨论】:

  • 只是出于好奇:为什么不^[\w&[^_]].*$?当然,如果不必排除 _,那么您就不需要交集。
猜你喜欢
  • 2012-04-24
  • 2011-05-10
  • 2018-10-30
  • 2019-08-14
  • 2019-08-18
  • 2021-07-03
  • 2023-03-09
  • 2018-12-27
  • 2018-11-07
相关资源
最近更新 更多