我有这个regEx表达式,它只允许空格,字母和短划线。我想修改它,所以它也不允许只有空格。有人能帮助我吗?
/^([A-zăâîșțĂÂÎȘȚ-\s])+$/
答案 0 :(得分:2)
您可以使用否定前瞻来限制此通用模式:
/^(?!\s+$)[A-Za-zăâîșțĂÂÎȘȚ\s-]+$/
^^^^^^^^
请参阅regex demo
(?!\s+$)
预测在最开始执行一次,如果有一个或多个空格直到字符串结尾,则返回false。
此外,您的正则表达式包含[A-z]
的经典问题,其匹配的不仅仅是ASCII字母,您需要将其替换为[A-Za-z]
(或仅[a-z]
并使用{{1}不区分大小写的修饰符)。
此外,字符类中的/i
通常放在最后,以免转义它,并且它将被解析为文字连字符(但是,如果另一个开发人员将要解析,你可能想要转义它必须通过向字符类添加更多符号来更新此模式。)
以防这是一个不支持外观的正则表达式引擎:
-
它要求允许的集合中至少有1个非空格字符(也匹配1个强制符号)。