Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有特殊字符(-)的字母数字正则表达式,最多允许4个数字字符_Javascript_Regex - Fatal编程技术网

Javascript 带有特殊字符(-)的字母数字正则表达式,最多允许4个数字字符

Javascript 带有特殊字符(-)的字母数字正则表达式,最多允许4个数字字符,javascript,regex,Javascript,Regex,我需要帮助创建一个正则表达式,允许字母数字字符与一个特殊字符(-),并应限制数字字符最多4个 我尝试了以下方法,但不起作用: ^[0-9a-zA-Z,-]\d{0,4}$ 我不知道我是否完全理解您的要求… 但是,此javascript regexp模式接受任意数量的任意大小写字母字符(包括连字符“-”)和最多4位数字;所有字符(字母、连字符、数字)可以以任何顺序出现。您可以使用此正则表达式 ^(?!(.*\d){5,})[a-z0-9-]+$ 解释 ^-锚定到字符串的开头 (?!.*\d{

我需要帮助创建一个正则表达式,允许字母数字字符与一个特殊字符(-),并应限制数字字符最多4个

我尝试了以下方法,但不起作用:

^[0-9a-zA-Z,-]\d{0,4}$
我不知道我是否完全理解您的要求…
但是,此javascript regexp模式接受任意数量的任意大小写字母字符(包括连字符“-”)和最多4位数字;所有字符(字母、连字符、数字)可以以任何顺序出现。

您可以使用此正则表达式

^(?!(.*\d){5,})[a-z0-9-]+$
解释

  • ^
    -锚定到字符串的开头
  • (?!.*\d{5,})
    -检查超过4位数字的条件
  • [a-z0-9-]
    -将
    a
    z
    0
    9
    匹配一次或多次
  • $
    -锚定到字符串的末尾

是否需要特殊字符?为什么字符集中有逗号字符
?连字符应该出现在哪里?您可以添加一些示例输入并指出匹配是成功还是失败吗?感谢您的回复,但它不能满足我的要求。我需要以下组合:允许(C1234,C23,C-123,C11234123),不允许(C1234512345,C123456)。数字字符的数量最多应该是4个。@user330366这个可以检查这里,我不知道你为什么这么说?
^(?!(.*\d){5,})[a-z0-9-]+$