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