我想将用户的输入与单个或多个单词匹配。这是为了避免垃圾邮件和不正确的输入。假设我有一个这样的字符串:
I45 w4nt t0 f1n1sh my_$4pp &s00n*
我想正则表达式正确地修剪该字符串:
I want to finish...
有字符限制。请问我该如何解决这个问题?谢谢
好的,您想要验证文本:
这个正则表达式似乎正在做你想要的:
^(?=.{1,50}$)(\w+[,.!?&']?\s?)+$
它将接受一个单词,后跟可选的标点符号和可选空格。
^(?=。{1,50} $)将控制字符限制,此处限制至少为1个字符,最多50个字符。其余为文本验证。
它将接受以下内容:我想完成。我很好!你好吗?我不在乎
但它不接受:
我真的可以#*!$那家伙
警告!这实际上是一种避免垃圾邮件的简单方法,用户可以非常快速地学习如何通过它。
我想你只是想:
^[a-zA-Z\s\n]{1,150}$
这将匹配1到150次之间的字母,空格和换行符(您的字符数)
我假设你不想要数字或特殊字符,但是如果你想要比这更复杂的东西,你可能想看看除了正则表达式以外的东西。