javascript - How do I check if a string contains at least one number, letter, and character that is neither a number or letter?

The language is javascript.Strings that would pass:JavaScript1*Pu54 325()9cStrings that would not pass:

The language is javascript.

Strings that would pass:

JavaScript1*

Pu54 325

()9c

Strings that would not pass:

654fff

%^(dFE

I tried the following:

var matches = password.match(/\d+/g);
if(matches != null)
 {
        //password contains a number
        //check to see if string contains a letter
        if(password.match(/[a-z]/i))
        {
            //string contains a letter and a number
        }
 }

The language is javascript.

Strings that would pass:

JavaScript1*

Pu54 325

()9c

Strings that would not pass:

654fff

%^(dFE

I tried the following:

var matches = password.match(/\d+/g);
if(matches != null)
 {
        //password contains a number
        //check to see if string contains a letter
        if(password.match(/[a-z]/i))
        {
            //string contains a letter and a number
        }
 }
Share Improve this question edited Nov 30, 2016 at 7:05 Michael Drum asked Nov 30, 2016 at 6:47 Michael DrumMichael Drum 1,2395 gold badges15 silver badges28 bronze badges 1
  • Yes. I tried many things. – Michael Drum Commented Nov 30, 2016 at 7:00
Add a ment  | 

1 Answer 1

Reset to default 5

You can use Regex:

I took it from here: Regex for Password

var checkPassword = function(password){
    return !!password.match(/^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%* #+=\(\)\^?&])[A-Za-z\d$@$!%* #+=\(\)\^?&]{3,}$/);
};

I use this Regex:

Minimum 3 characters at least 1 Alphabet, 1 Number and 1 Special Character:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[$@$!%* #=+\(\)\^?&])[A-Za-z\d$@$!%* #=+\(\)\^?&]{3,}$"

This regex will enforce these rules:

At least one English letter, (?=.*?[A-Za-z])

At least one digit, (?=.*\d)

At least one special character, (?=.[$@$!% #+=()\^?&]) Add more if you like...

Minimum length of 3 characters (?=.[$@$!% #?&])[A-Za-z\d$@$!%* #+=()\^?&]{3,} include spaces

If you want to add more special characters, you can add it to the Regex like I have added '(' (you need to add it in two places).

And for those of you who ask yourself what are those two exclamation points, here is the answer: What is the !! (not not) operator in JavaScript?

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1742162959a4393680.html

相关推荐

  • ​​​​​48days强训——day10

    第一题:最长回文子串链接:最长回文子串_牛客题霸_牛客网 描述对于长度为n的一个字符串A(仅包含数字,大小写英文字母),请设计一个高效算法,计算其中最长回文子串的长度。数据范围: 1≤n≤10001≤n≤1000要求:空间复杂度 O(1)O

    55分钟前
    00
  • 【MySQL】数据库基础

    前言数据库技术产生于20世纪60年代,是数据管理的核心技术。数据库管理系统(database management system,简称DBMS)是大型复杂的基础软件,也是现代信息系统的核心和基础。在计算机的发展过程,数据的的管理技术大概可以

    52分钟前
    00
  • 程序员副业暴利指南:用影刀3.0+Textln在某鱼10倍暴利的终极玩法

    总结背景调查(10倍暴利)在当今数字化时代,图片去水印是一项常见的需求。无论是个人用户想要清理头像上的水印,还是企业需要去除图片中的广告痕迹,去水印服务都有着广阔的市场。然而,对于大多数人来说,去除水印并非易事,因为这通常需要专业的图像处理

    49分钟前
    00
  • 边玩边学:黑群晖使用Docker搭建超级玛丽游戏服务器支持远程访问

    前言在数字时代,我们每天长时间面对电脑屏幕,处理工作、浏览文件,生活节奏越来越快。下班后,你是否也怀念起童年时光,想起那些拿着游戏机,沉浸在游戏世界中的快乐?那种简单的快乐,现在似乎很难再体验到了。别担心!今天就来教你一个有趣的方法——在黑

    46分钟前
    00
  • 初识Redis · 数据类型和初识string

    前言:前文我们已经介绍了基本的命令,涉及到的命令有set,get, expire, ttl, type等命令,并且从中引入了过期策略的实现,涉及到了惰性清除和定期清楚,并且我们还介绍了为什么不引入定时器,因为大概率会有另一个线程的参与,而对

    41分钟前
    00
  • 数字人:开启医疗领域的智慧变革新时代(510)

    摘要:数字人技术作为医疗变革的基石,通过多学科融合实现虚拟医生、手术模拟、医学教育等多元应用,贯穿诊前、术中、术后全流程,显著提升医疗效率、优化资源分配、推动个性化服务。尽管面临技术、伦理、数据安全等挑战,数字人未来有望与人工智能、虚拟现

    37分钟前
    00
  • `offset

    offset_mapping 是什么offset_mapping是 transformers 库中分词器(tokenizer)在进行分词操作时返回的一个重要信息,它用于建立原始文本中的字符位置和分词后标记(tokens)之间的映射关系。借助

    32分钟前
    00
  • server2012r2 资源文件介绍

    server2012r2 资源文件介绍 【下载地址】server2012r2资源文件介绍 本开源项目专注于提供Windows Server 2012 R2的完整安装镜像,适合需要部署或测试该操作系统的用户。资源经过严格

    29分钟前
    00
  • 【Linux篇】革新编程方式:如何开发让人眼前一亮的库

    库的秘密:颠覆传统思维的编程组件打造术在现代软件开发中,库(Library)扮演着重要角色。通过对库的结构、功能和实现原理的深入剖析,我们可以更高效地复用代码、提高开发效率。接下来,我们将结合实例,逐步讲解库的核心概念、设计思路及制作流程,

    26分钟前
    00
  • 【HarmonyOS 5】如何开启DevEco Studio热更新调试应用模式

    一、前言:热更新调试主要是为了解决大工程项目编译的时间过长,日常开发调试效率过低的问题。比如调试应用布局的开发,修改一些界面小属性,每次都需要重新编译整个项目,会费事费力。官方给的数据指标如下:在万行级ArkTS代码项目中,Hot Relo

    23分钟前
    00
  • AnyBurn 制作ISO

    #西里网# 下载安装AnyBurn访问AnyBurn官网下载最新版本运行安装程序,按向导完成安装启动AnyBurn双击桌面快捷方式或从开始菜单启动程序选择创建ISO功能在主界面点击"创建ISO文件"按钮或通过菜单&quo

    21分钟前
    00
  • Matlab 2012b 64位安装教程

    Matlab 2012b 64位安装教程 【下载地址】Matlab2012b64位安装教程分享 Matlab 2012b 64位安装教程本资源文件提供了Matlab 2012b 64位版本的安装教程,适用于Window

    14分钟前
    00
  • NTLite + Easy Sysprep 系统封装

    #西里网#NTLite + Easy Sysprep 系统封装全过程及注意事项一、准备工作 下载所需工具:NTLite(最新版)Easy Sysprep(最新版)原版Windows镜像(ISOWIM格式)系统要求:16GB以上存储空间推荐

    12分钟前
    00
  • 【GitHub精选】开源免费!一键生成宫崎骏动画风,这个神器比GPT

    项目背景:当AI遇见吉卜力,一场艺术与技术的碰撞吉卜力工作室的动画以唯美画风、细腻情感和奇幻场景闻名,但想用AI复刻这种风格却难如登天。最近,一个名为EasyControl的开源项目横空出世,号称能“一键生成吉卜力风”,效果甚至媲美GPT-

    9分钟前
    00
  • Deepseek本地部署 + 个性化 Rag 知识库

    什么是 RAG ? Retrieval-Augmented Generation (RAG) 是一种结合了信息检索与文本生成的先进模型架构,旨在提高自然语言处理任务中的准确性和相关性。不同于传统的端到端生成模型,RAG 通过整合外部知识库来

    8分钟前
    00
  • window 开发知识

    文章目录 检查端口占用检查网络连接生成ssh-key常见 SSH 公钥加密算法推荐算法:ED25519如果使用 RSA,要注意 wsl检查 Windows 版本安装wsl(如

    7分钟前
    00
  • 免费教学Windows Server评估版永久转换为数据中心版攻略

    哈喽大家好,欢迎来到虚拟化时代君(XNHCYL),收不到通知请将我点击星标!“ 大家好,我是虚拟化时代君,一位潜心于互联网的技术宅男。这里每天为你分享各种你感兴趣的技术、教程、软件、资源、福利…(每天更新不间断,福利不见不散) 第一章、

    5分钟前
    00
  • RA.Aid - 自主软件开发助手

    文章目录 一、项目概览相关资源核心特性架构设计核心组件 二、快速开始使用示例代码分析模式自动化重构交互式开发 三、安装详解1、Windows 安装指南2、UnixLinux 安装3、通过 Homebrew 在 macOS 上安装4、前提条

    2分钟前
    00
  • 【随笔】解决 dynamic

    前言最近在开发一个 Spring Boot 项目时,遇到了嵌入式 Tomcat 启动失败的问题,错误日志指向 dynamic-datasource的主数据源配置问题。经过一番排查,发现是 dynamic-datasource 2.5.6

    2分钟前
    00
  • EmEditor 强大而简单易用的Windows文本编辑器

    EmEditor是日本的江村软件公司(Emurasoft)所开发的一款在Windows平台上运行的文字编辑程式。EmEditor以运作轻巧、敏捷而又功能强大、丰富著称,得到许

    1分钟前
    00

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信