Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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/4/jsp/3.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 用于西里尔语和国际字符的正则表达式_Javascript_Regex - Fatal编程技术网

Javascript 用于西里尔语和国际字符的正则表达式

Javascript 用于西里尔语和国际字符的正则表达式,javascript,regex,Javascript,Regex,下面列出的这个正则表达式几乎满足了我的所有要求,只缺少一个: 除特殊字符外,它必须至少有3个必需的字母数字字符 以下是我的验收标准: 至少3个字符(包括字母和数字,不包括 (包括特殊字符) 它必须至少有3个字母数字字符,不包括 特殊角色-尚未工作 独立单词中的所有字母表不能相同。然而,如果 他们是世界的一部分,我们将允许他们这样做。例如。 不允许AAA,但允许Haaadoop 一个单词中允许连续字母小于或等于3。 例如,允许使用Haaadoop,但不允许使用Haaadoop 不允许使用三个或更多

下面列出的这个正则表达式几乎满足了我的所有要求,只缺少一个:

除特殊字符外,它必须至少有3个必需的字母数字字符

以下是我的验收标准:

  • 至少3个字符(包括字母和数字,不包括 (包括特殊字符)
  • 它必须至少有3个字母数字字符,不包括 特殊角色-尚未工作
  • 独立单词中的所有字母表不能相同。然而,如果 他们是世界的一部分,我们将允许他们这样做。例如。 不允许
    AAA
    ,但允许
    Haaadoop
  • 一个单词中允许连续字母小于或等于3。 例如,允许使用
    Haaadoop
    ,但不允许使用
    Haaadoop
  • 不允许使用三个或更多连续的独立字母。 例如,允许使用
    AA
    ,但不允许使用
    AAA
  • 所有数字都可以相同。例如,允许使用
    111
    111111
  • 不允许超过1个连续的特殊字符(在word或单机版中)。例如,允许
    A-B
    A--B
    A-&B
    是不允许的
  • 允许使用以下特殊字符:
    #&()35;+[]:;',/-“*
  • 表格的任何部分都不允许使用连续的破折号和撇号 串
  • 它应该接受这些国际和西里尔字符以及这些国际和西里尔字符,也应该接受这些国际和西里尔字符,它应该接受这些国际和西里尔字符,接受这些国际和西里尔字符,也应该接受这些国际和西里尔字符:::<编码>以及应该接受这些国际和西里尔字符:::<编码>>编码>19 19 19十九十九十九十九十九十九十九十九十九十九十九十九十九十九岁岁岁的的,,各各各各各各各甲甲甲甲甲甲甲甲基基基基日日日日日日日日若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若本本本本本本本甲甲甲甲甲若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若若ЩЪъЯЯЯЯëìîॢòòùýÿ
  • 这些国际字符和西里尔字符应在 单词的开头、单词之间或单词的结尾 话
  • 应接受以下测试用例

    • Haaadoop 123
    • A-B 123
    • 123.ãåæëìî
    • crmkССССПτ123
    • 123аöССа
    • <代码>аС123а
    • 123 Haaadoop
    • 123 A-B
    • 123
    • 111 asdasdbhb
    • 1111 asdwebqfbwejbf
    • 123
    • 1111111 adfsdfdsf
    应拒绝以下测试用例:

    • haaadoop 123
    • A--B 123
    • A-&B123
    • AAA
    • abcd
    • 123
    • 123 Haaaaadoop
    • 123a--B
    • 2A
    注1:标准重新编号以供参考

    注2:我将首先使用PCRE语法来支持
    x
    修饰符

    您的标准几乎是按字面意思写的,可表示为以下内容(注释中的标准参考):

    正则表达式不包括原始表达式中出现的“邮局”限制,因为它在条件列表中丢失,但可以很容易地添加

    演示:

    以及JavaScript版本:

    ^(?=(?:.*[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ0-9]){3,})(?!.*\b([a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ])\1+\b)(?!.*([a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ])\2{3,})(?![a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ]{3,}$)(?=([0-9])\3+$|(?!\d+$))(?!.*[\ *"(:,\/.\\;&)\[\]_+#'-]{2,})[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ0-9\ *"(:,\/.\\;&)\[\]_+#'-]{3,40}$
    

    演示:

    请参阅和。所有字符都是“国际字符”。似乎您需要看到“除特殊字符外,它必须至少有3个必需的字母数字字符”-在
    ^
    之后添加正向前瞻:
    (?=(?:[^alphanumeric]*[alphanumeric]){3}
    其中需要将字母数字替换为您拥有的alnum模式(包括“国际”角色)。当你说某件事不起作用时,我们不知道是什么和怎么回事。发生了什么事,你尝试了什么?更新问题。接受标准不正确。因为它是字母数字字段,所以它应该接受数字和字母。所有数字可以相同,但应该是字母数字和连续字母一个单词中允许s大于或等于3,但不能超过3。例如,允许Haaadoop,但不允许Haaadoop。
    ^
    (?=(?:.*[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ0-9]){3,})  # 1 & 2
    (?!.*\b([a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ])\1+\b)    # 3
    (?!.*  ([a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ])\2{3,})   # 4
    (?!     [a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ]{3,}$)     # 5
    (?=([0-9])\3+$|(?!\d+$))                        # 6 + implied by the test data "no number
                                                    # alone on a string unless all digits are
                                                    # the same" rule
    (?!.*[\ *"(:,\/.\\;&)\[\]_+#'-]{2,})            # 7
    [a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ0-9\ *"(:,\/.\\;&)\[\]_+#'-]{3,40}$
    
    ^(?=(?:.*[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ0-9]){3,})(?!.*\b([a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ])\1+\b)(?!.*([a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ])\2{3,})(?![a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ]{3,}$)(?=([0-9])\3+$|(?!\d+$))(?!.*[\ *"(:,\/.\\;&)\[\]_+#'-]{2,})[a-zA-ZÀ-ÖØ-ߟà-çа-яА-ЯЁёè-ÿ0-9\ *"(:,\/.\\;&)\[\]_+#'-]{3,40}$