RegEx用于没有数字和任何特殊字符的多字词

时间:2017-12-28 12:25:14

标签: regex string

我希望将用户的输入与单个或多个单词匹配。这是为了避免垃圾邮件和不正确的输入。假设我有一个这样的字符串:

I45 w4nt t0 f1n1sh my_$4pp &s00n*

我希望正则表达式正确地将该字符串修剪为:

I want to finish...

有字符限制。请问我该如何解决这个问题?感谢

2 个答案:

答案 0 :(得分:0)

好的,您想要验证文本:

这个正则表达式似乎正在做你想要的:

^(?=.{1,50}$)(\w+[,.!?&']?\s?)+$

它会接受一个单词,后跟一个可选的标点符号和一个可选空格。

^(?=。{1,50} $)将控制字符限制,此处限制为至少1个字符,最多50个字符 其余的是对文本的验证。

它会接受以下内容: 我想完成。 我很好!你好吗? 我不在乎

但它不接受:

我真的可以#*!$那个人

警告!这实际上是一种避免垃圾邮件的简单方法,用户可以非常快速地学习如何通过它。

答案 1 :(得分:0)

我想你只是想:

^[a-zA-Z\s\n]{1,150}$

这将匹配字母,空格和新行字符1至150次(您的字符数)

我假设您不需要数字或特殊字符,但是如果您想要比这更复杂的东西,您可能需要查看除正则表达式之外的其他内容。