没有 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 特殊字符密码验证的主要内容,如果未能解决你的问题,请参考以下文章