我正在尝试验证 Angular2 形式的文件名字符串。 文件名字符串不能全是点,并且不能包含此字符\/? * ": < > |
我解决了第二个要求,我的正则表达式如下所示:
Validators.pattern('^[^\\\\:\*\?\"\<\>\|\/]+$')
但我不知道如何解决点要求。
最佳答案
您可以使用(?!\.+$)
开头的负向预测将阻止匹配仅包含 1 个或多个点的字符串:
Validators.pattern('^(?!\\.+$)[^\\\\:*?"<>|/]+$')
^^^^^^^^
甚至删除 ^
最后$
因为 Angular 会自动添加它们:
Validators.pattern('(?!\\.+$)[^\\\\:*?"<>|/]+')
请注意*?"<>|/
字符不需要在字符类中转义。所有这些都被视为文字符号。
关于javascript - RegEx JavaScript - 字符串不能全是点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51823166/