2017-05-18 14 views
2

如何阻止连续元音在字符串中的使用并允许使用只有一个连字符( - )?现在它允许用户输入尽可能多的连字符。它不应该允许连字符以外的任何其他特殊字符。如何阻止字符串中的连续元音(aeiou)?

我已经使用/^((?!aeiou)[a-zA-z\u00BF-\u1FFF\u2C00-\uD7FF\-])*$/,。它不应该允许连续的元音,即使它是大写(AEIOU),也不应该像AeiOU,aEIou等连续形式的大写和小写。只有连续的元音被限制,所以'aouie'和'iouae'被删除。

+0

你的代码是允许多于一个连字符也当我在这些(AEIOU,AEIOU,AEIOU)形成它正在接受进入连续元音。 – Kumar

回答

4

尝试使用:

/^(?!.*-.*-)((?![Aa][Ee][Ii][Oo][Uu])[a-zA-Z\u00BF-\u1FFF\u2C00-\uD7FF\-])*$/ 

(?!.*-.*-)指开始的字符串不能被随后以任何位置2个hypens。

https://regex101.com/r/vrpqv9/1

+0

这是完美的,我认为第一个也只是一个小小的修改,但第二个是现货。谢谢 – Kumar

+0

@Kumar您可以考虑upvote和/或接受答案 – horcrux

+1

一旦用户获得15个重要点,就会授予Upvoting权限。 –

相关问题