正则:只允许内容是中文或英文或数字,但不能全部是数字且内容中不允许出现空格

^(?!\d+$)[\u4e00-\u9fa5a-zA-Z]*[a-zA-Z\u4e00-\u9fa5\d]+[\u4e00-\u9fa5a-zA-Z\d]*$ 
此正则表达式用于检测:

  1. 只允许内容中出现中文、英文和数字。
  2. 不允许内容中全部是数字。
  3. 不允许内容中包含空格。

具体来说,该正则表达式的含义如下:

  • ^ 表示匹配输入字符串的开头。
  • (?!\d+$) 是一个负向前瞻断言,表示输入字符串结尾不能全部是数字。
  • [\u4e00-\u9fa5a-zA-Z]* 表示匹配零个或多个中文或英文字符。
  • [a-zA-Z\u4e00-\u9fa5\d]+ 表示匹配至少一个中文、英文或数字字符。
  • [\u4e00-\u9fa5a-zA-Z\d]* 表示匹配零个或多个中文、英文或数字字符。
  • $ 表示匹配输入字符串的结尾。

    增加规则:不可以全部由英文组成,且长度不超过10个字符
    ^(?!\d+$)(?![a-zA-Z]+$)[\u4e00-\u9fa5a-zA-Z\d]{1,10}$
    

    这个正则表达式可以匹配中英文混合的字符串,但不能全部由数字或英文字符组成,且字符串长度不得超过10个字符。下面是每个部分的解释:

    • ^ 表示匹配字符串的开头
    • (?!\d+$) 表示后面不能全部由数字组成
    • (?![a-zA-Z]+$) 表示后面不能全部由英文字符组成
    • [\u4e00-\u9fa5a-zA-Z\d]{1,10} 表示匹配长度为1到10的中英文混合的字符串或数字
    • $ 表示匹配字符串的结尾

    因此,这个正则表达式可以匹配类似于“hello世界1”、“你好world4”、“测试1a2b3c”等中英文混合的字符串,但不能匹配全部由数字或英文字符组成的字符串,如“123456”、“abcdefg”等,同时字符串长度不得超过10个字符。

posted on 2023-12-07 17:33  wakaka_wka  阅读(169)  评论(0编辑  收藏  举报