Angularjs 辣味安古拉

Angularjs 辣味安古拉,angularjs,regex,angularjs-ng-pattern,Angularjs,Regex,Angularjs Ng Pattern,我一直在研究angularJs ng模式的正则表达式问题,需要: 不能是空白 最少1个字符,最多32个字符 只允许空格 可接受的特殊字符(!@#$%&*-+=[]:;',.?) 答案不区分大小写 不允许与的组合 答案开头和结尾的空格应该删掉 这是我的解决方案,它涵盖了除第6条以外的所有要求: ([^a-zA-Z0-9!@#$%& *+=[\]:;',.?-])|(^\s*$) 你们有什么想法吗?你们可以用 /^(?!\s*$)(?!.*&#)[a-zA-Z0-9!@#$%&am

我一直在研究angularJs ng模式的正则表达式问题,需要:

  • 不能是空白
  • 最少1个字符,最多32个字符
  • 只允许空格
  • 可接受的特殊字符(!@#$%&*-+=[]:;',.?)
  • 答案不区分大小写
  • 不允许与的组合
  • 答案开头和结尾的空格应该删掉
  • 这是我的解决方案,它涵盖了除第6条以外的所有要求:

    ([^a-zA-Z0-9!@#$%& *+=[\]:;',.?-])|(^\s*$)
    
    你们有什么想法吗?

    你们可以用

    /^(?!\s*$)(?!.*&#)[a-zA-Z0-9!@#$%&*+=[\]:;',.?\s-]{1,32}$/
    

    详细信息

    • ^
      -字符串的开头
    • (?!\s*$)
      -从字符串开始到结束不允许有0+空格
    • (?!.&&#)
      -在任何0+字符后不允许使用
      &
    • [a-zA-Z0-9!@$%&*+=[\]:;',.?\s-]{1,32}
      -1到32允许的字符:ASCII数字、字母、空格和一些标点符号/符号
    • $
      -字符串结束

    你能解释一下“5.答案不区分大小写”是什么意思吗?我想你需要
    /^(?!\s*$)(?:(?!!&&#)[a-zA-Z0-9!@$%&*+=[\]:;,.?\s-]){1,32}$/
    。然而,我不知道你的要求是什么。7意味着<代码>ng模式不会修剪输入文本。我唯一无法理解的是#6 req。我可以用string.trim()来处理#7。对于#5,a-zA-Z涵盖了这一点。好吧,你试过我的建议了吗?看见它也可以是Omg,非常有效。谢谢你,威克托。那么,把枪放下?!一开始是指匹配否定词?嘿,威克托,谢谢你的帮助,还有一个问题。那#&组合呢?现在,&#组合现在起作用了,但我尝试添加另一组(?)#&),但没有起作用。想一想/^(?!\s*$)(?:(?!&&&| |#&)[a-zA-Z0-9!@$%&*+=[]:',.?\s-]+$/,你看。@user1070111或
    /^(?!\s*$)(?!.*.&&-[a-zA-Z0-9!%&++=[\]:'