通过正则表达式来判断用户名是否合法

复制代码
object test {
  
  //验证用户名是否合法
  //规则:
  //1. 长度在6_12之间
  //2. 不能数字开头
  //3. 只能包含数字,大小写字母,下划线
  def main(args: Array[String]): Unit = {

    val name1 = "1admin"//不合法,数字开头
    val name2 = "admin123"//合法
    val name3 = "admin"//不合法,长度不够
    val name4 = "ad_123Ab"//合法·
    val name5 = "admin123!"//不合法·,!是不允许的

    //通过正则表达式来判断
    val reg = "[a-zA-Z_]\\w{6,12}".r
    //val reg = "[a-zA-Z_][a-zA-Z_0-9!]{6,12}".r
    println(reg.matches(name1))
    println(reg.matches(name2))
    println(reg.matches(name3))
    println(reg.matches(name4))
    println(reg.matches(name5))
  }

}
相关推荐
时间的拾荒人2 分钟前
C语言编译与链接:从源码到可执行程序的完整解析
c语言·开发语言
人道领域3 分钟前
【0-1的agent进阶篇】Prompt 与上下文工程
java·开发语言·prompt·mcp
aaPIXa6224 分钟前
C++大型项目模块化拆分实战记录
开发语言·c++
AOwhisky5 分钟前
Python 基础语法(上篇 + 下篇)——综合自测题
linux·windows·python
z落落7 分钟前
C# WinForm 线程池与事件等待+进度条暂停恢复实战案例
开发语言·c#
石山代码12 分钟前
C++23 新特性在 CLion 中的实战体验
开发语言·c++·c++23
浮江雾13 分钟前
Flutter第四节------核心概念学习笔记:从基础语法到异步编程
linux·服务器·开发语言·笔记·flutter·入门·基础
北冥you鱼28 分钟前
Go Modules 使用指南:从入门到精通
开发语言·后端·golang
l1t32 分钟前
duckdb 1.6dev新增的.manual命令
开发语言·数据库
埃博拉酱34 分钟前
Pip/Conda 混用导致的 CRT 版本冲突问题:[WinError 1114] 动态链接库(DLL)初始化例程失败
windows·python