没有 JQuery 的 Javascript 特殊字符密码验证

Posted

技术标签:

【中文标题】没有 JQuery 的 Javascript 特殊字符密码验证【英文标题】:Javascript Special Character Password Validation without JQuery 【发布时间】:2020-10-16 12:28:14 【问题描述】:

我想写一个简单的 if 语句来测试特殊字符。像这样的:

var passwordSpecial = **WHATDOIPUTHERE???**.test(password)
if(passwordSpecial == true)
var pass="OK"

else
var pass="NO"

【问题讨论】:

使用正则表达式。 检查这个问题:***.com/questions/18812317/… 【参考方案1】:
const pattern = new RegExp(/^[^@]+$/);
const password1 = pattern.test("hey")
const password2 = pattern.test("@hey")

//returns true, false
console.log(password1, password2)

在“^”之后的括号内的任何内容都不允许出现在字符串中,在本例中为“@”

编辑:查看此代码笔 https://codepen.io/PavlosKaralis/pen/vYLeYqp?editors=1011

如果你想明确地只允许数字和字母

const pattern = new RegExp(/^[a-zA-Z0-9]*$/);

这取决于您对特殊字符的定义。

【讨论】:

早上帕夫洛斯,非常感谢。只要我将“嘿”或“@hey”硬编码到 pattern.test() 中,我就能让代码正常工作。但是,当我使用一个变量时,它总是返回为真。有什么想法吗? var 密码 = document.getElementsByName("pwd1")[0].value var pattern = new RegExp(/^[^@]+$/); var password1 = pattern.test(password) alert(password) alert(password1) 这些搜索相当于什么?现在正则表达式被编码为只检查“@”字符,所以如果它没有@,那就是真的;您需要添加自己的角色来自定义它。 查看此工作示例的代码笔:codepen.io/PavlosKaralis/pen/vYLeYqp?editors=1011 现在只有“@”被定义为特殊字符,如果使用将返回 false。 问候帕夫洛斯,谢谢。我是在倒着读真假。我已经对其进行了编程并开始工作!非常感谢。

以上是关于没有 JQuery 的 Javascript 特殊字符密码验证的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 JavaScript 中转义 HTML 特殊字符吗?

jquery特殊字符转义方法

特殊点掩码输入 HTML-JavaScript

jQuery选择器与JavaScript易出错知识点

JQuery对id中含有特殊字符的转义处理

jQuery选择器之特殊选择器this