我正在尝试为密码字段创建验证,该字段仅允许a-zA-Z0-9
字符和.!@#$%^&*()_+-=
我似乎无法理解它。
使用regex = /a-zA-Z0-9/g and regex = /[a-zA-Z0-9]/
时有什么区别,需要转发来自.!@#$%^&*()_+-=
的字符?
我现在尝试的是:
var regex = /a-zA-Z0-9!@#\$%\^\&*\)\(+=._-/g
但没有成功
答案 0 :(得分:40)
var regex = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]+$/g
应该工作
也可能想要最小长度,即6个字符
var regex = /^[a-zA-Z0-9!@#\$%\^\&*\)\(+=._-]{6,}$/g
答案 1 :(得分:9)
有什么区别?
/[a-zA-Z0-9]/
是一个character class,它匹配类中的一个字符。它由三个范围组成。
/a-zA-Z0-9/
表示这9个字符的字面序列。
需要转发
.!@#$%^&*()_+-=
中的哪些字符?
在一个字符类中,只有减号(如果不是在结尾处)和抑扬符(如果在开头)。在charclass之外,.$^*+()
具有特殊含义,需要进行转义才能完全匹配。
仅允许
a-zA-Z0-9
字符和.!@#$%^&*()_+-=
将它们放入角色类中,然后让它们repeat并要求anchors将整个字符串与它们匹配:
var regex = /^[a-zA-Z0-9!@#$%\^&*)(+=._-]*$/
答案 2 :(得分:9)
一种匹配特殊字符的简单方法:
/\W|_/g
\ W 匹配任何不是单词字符的字符(字母数字和下划线)。
下划线被认为是一个特殊角色 添加布尔值以匹配特殊字符或_
答案 3 :(得分:4)
这个怎么样: -
var regularExpression = /^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{6,}$/;
它将允许至少6个字符,包括数字,字母和特殊字符
答案 4 :(得分:4)
上面写的Regex存在一些问题。
这很有效。
^[a-zA-Z\d\-_.,\s]+$
此处仅包含允许的特殊字符,逗号后可以扩展。
答案 5 :(得分:1)
// Regex for special symbols
var regex_symbols= /[-!$%^&*()_+|~=`{}\[\]:\/;<>?,.@#]/;
答案 6 :(得分:1)
这是真正的正则表达式唯一匹配:
/[-!$%^&*()_+|~=`{}[:;<>?,.@#\]]/g
答案 7 :(得分:0)
至少8个字符,一个字母,一个数字和一个特殊字符的正则表达式:
/^(?=.*[A-Za-z])(?=.*\d)(?=.*[!@#$%^&*])[A-Za-z\d!@#$%^&*]{8,}$/
答案 8 :(得分:0)
此正则表达式非常适合我验证密码:
/[ !"#$%&'()*+,-./:;<=>?@[\\\]^_`{|}~]/
此特殊字符列表(包括空格和标点符号)取自此处:https://www.owasp.org/index.php/Password_special_characters。对其进行了一些更改,因为必须使用反斜杠('\')和右括号(']')才能使正则表达式正常工作。这就是为什么添加了两个额外的反斜杠字符的原因。
答案 9 :(得分:0)
您可以通过测试无效字符来具体说明。对于任何非字母数字和空格的内容,将返回true:
var specials = /[^A-Za-z 0-9]/g;
return specials.test(input.val());
答案 10 :(得分:0)
完整的特殊字符集:
/[\!\@\#\$\%\^\&\*\)\(\+\=\.\<\>\{\}\[\]\:\;\'\"\|\~\`\_\-]/g
回答您的问题:
var regular_expression = /^[A-Za-z0-9\!\@\#\$\%\^\&\*\)\(+\=\._-]+$/g
答案 11 :(得分:0)
function nameInput(limitField)
{
//LimitFile here is a text input and this function is passed to the text
onInput
var inputString = limitField.value;
// here we capture all illegal chars by adding a ^ inside the class,
// And overwrite them with "".
var newStr = inputString.replace(/[^a-zA-Z-\-\']/g, "");
limitField.value = newStr;
}
此功能仅允许使用字母,小写和大写以及-和'字符。可能会帮助您建立自己的。
答案 12 :(得分:0)
您可以使用它来查找和替换任何特殊字符,例如 Worpress 的 slug
const regex = /[`~!@#$%^&*()-_+{}[\]\\|,.//?;':"]/g
let slug = label.replace(regex, '')