gpt4 book ai didi

javascript - 无法验证连字符

转载 作者:行者123 更新时间:2023-12-01 02:07:18 25 4
gpt4 key购买 nike

我正在尝试验证包含“字母数字字符、支持的符号和空格”的名称。这里我只需要允许一个连字符(-),而不是两个连字符(--)

这是我的代码如下:

$.validator.addMethod(
'alphanumeric_only',
function (val, elem) {
return this.optional(elem) || /^[^*~<^>+(\--)/;|.]+$/.test(val);
},
$.format("shouldn't contain *.^~<>/;|")
);

上面的代码甚至不允许有一个连字符(-)。如何允许使用单个连字符,但阻止使用双连字符。非常感谢任何帮助。

最佳答案

为此,您需要一个负数 lookahead assertion :

/^(?!.*--)[^*~<^>+()\/;|.]+$/

应该这样做。

说明:

^                 # Start of string
(?! # Assert it's impossible to match the following:
.* # any string, followed by
-- # two hyphens
) # End of lookahead
[^*~<^>+()\/;|.]+ # Match a string consisting only of characters other than these
$ # End of string

如果您的字符串可以包含换行符,这可能会失败。如果可以的话,使用

/^(?![\s\S]*--)[^*~<^>+()\/;|.]+$/

关于javascript - 无法验证连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9257126/

25 4 0
文章推荐: jquery - jquery模拟鼠标拖动
文章推荐: python - 是否可以将 xdist 网关编号打印到 stdout 中的每一行?
文章推荐: javascript - 如何将