Regex 我希望输入文本区域最多可以接受150个字符,但它不应该只接受连字符(-)或点(.)

Regex 我希望输入文本区域最多可以接受150个字符,但它不应该只接受连字符(-)或点(.),regex,Regex,我希望一个输入文本区域最多可以接受150个字符,包括字母数字和特殊字符,但它不应该只接受特殊字符。有人知道这个正则表达式吗?如果要将字符串与必填字母或数字匹配,可以使用: ^(?![^a-zA-Z0-9]*$)[^.-]{150}$ 这是一个例子。第二行不匹配,因为它只包含特殊字符。@ryekayo他还要求特殊字符。您的措辞令人困惑。“它不应该只接受特殊字符”?这是什么意思?它可以接受特殊字符,但前提是它们不是字符串中的唯一字符?还有,“特殊字符”到底是什么?仅点和连字符?它不匹配任何以特殊字

我希望一个输入文本区域最多可以接受150个字符,包括字母数字和特殊字符,但它不应该只接受特殊字符。有人知道这个正则表达式吗?

如果要将字符串与必填字母或数字匹配,可以使用:

^(?![^a-zA-Z0-9]*$)[^.-]{150}$

这是一个例子。第二行不匹配,因为它只包含特殊字符。

@ryekayo他还要求特殊字符。您的措辞令人困惑。“它不应该只接受特殊字符”?这是什么意思?它可以接受特殊字符,但前提是它们不是字符串中的唯一字符?还有,“特殊字符”到底是什么?仅点和连字符?它不匹配任何以特殊字符开头/结尾的字符串。但是,它还接受除alnum、点和连字符之外的许多其他字符。这个问题是不明确的,不过-OP需要澄清。@Stribizev duhh我添加了一个超过maxlength sry的特殊字符