在字符串开头匹配特殊字符所需的正则表达式
Regex needed for matching special characters at start of string
我需要修改我现有的正则表达式以支持字符串值开头的特殊字符。
我目前有这个表达式:
/^(?=.*[a-zA-Z])(?=.*'d)(?=.*[!@#$%^&*()_+])[A-Za-z'd][A-Za-z'd!@#$%^&*()_+.]{7,63}$/
它接受任何介于 8-64 个字符之间的字符串,其中至少有 1 个数字、字母和以下特殊符号:!@#$%^&*()_+。
如何让它识别输入值开头的特殊字符?
要匹配的字符串:
.abc@1234
*abc@1234
abc@1234.
a@b.c1234
谢谢
您需要
删除[A-Za-z'd]
并将{7,63}
替换为{8,64}
。
用
^(?=.*[a-zA-Z])(?=.*'d)(?=.*[!@#$%^&*()_+])[A-Za-z'd!@#$%^&*()_+.]{8,64}$
查看演示
也许,您还希望将.
添加回前瞻,以便还需要:
^(?=.*[a-zA-Z])(?=.*'d)(?=.*[!@#$%^&*()_+.])[A-Za-z'd!@#$%^&*()_+.]{8,64}$
^
要确保特殊符号不会立即连续出现,请添加(?!.*[!@#$%^&*()_+.]{2})
负前瞻:
^(?=.*[a-zA-Z])(?=.*'d)(?=.*[!@#$%^&*()_+.])(?!.*[!@#$%^&*()_+.]{2})[A-Za-z'd!@#$%^&*()_+.]{8,64}$
^^^^^^^^^^^^^^^^^^^^^^^^
查看此演示
请注意,这里的很多人会抱怨使用这么长的正则表达式的可维护性问题。您可以将条件拆分为单独的代码段,也可以使用带有注释的多行正则表达式:
var rx = RegExp("^" + // Start of string
"(?=.*[a-zA-Z])" + // Require a letter
"(?=.*''d)" + // Require a digit
"(?=.*[!@#$%^&*()_+])" + // Require a special symbol
"(?!.*[!@#$%^&*()_+.]{2})" + // Disallow consecutive special symbols
"[A-Za-z''d!@#$%^&*()_+.]{8,64}" + // 8 to 64 symbols from the set
"$");
var re = RegExp("^" + // Start of string
"(?=.*[a-zA-Z])" + // Require a letter
"(?=.*''d)" + // Require a digit
"(?=.*[!@#$%^&*()_+])" + // Require a special symbol
"(?!.*[!@#$%^&*()_+.]{2})" + // Disallow consecutive special symbols
"[A-Za-z''d!@#$%^&*()_+.]{8,64}" + // 8 to 64 symbols from the set
"$", "gm");
var str = '.abc@1234'n*abc@1234'nabc@1234.'na@b.c1234'n*abc@1234'nabc@1234.'na@b.c1234'na@b.#c123'na@__c1234';
while ((m = re.exec(str)) !== null) {
document.body.innerHTML += m[0] + "<br/>";
}
相关文章:
- 使用正则表达式查找字符模式
- 使用 Javascript 正则表达式删除字符后的所有内容
- 如何转义 JavaScript 正则表达式替换字符
- 正则表达式:从字符到行尾匹配,没有最后一个匹配组
- 在 jQuery 中使用正则表达式将字符附加到字符串
- 如何使用正则表达式和“”字符正确解析 JSON
- 正则表达式,字符数限制
- 正则表达式:在字符或字符和行尾之间获取字符串
- 如何动态添加javascript正则表达式转义字符
- 使用正则表达式根据字符数和空格数拆分字符串
- 将正则表达式与字符数组匹配
- 用于用户名验证的正则表达式:允许字符、数字和特殊字符(-_.)至少包含一个字符
- 正则表达式特殊字符
- 正则表达式(连字符、下划线和句号)
- 用于验证电子邮件的正则表达式:非法字符
- 使用正则表达式设置字符限制
- JavaScript正则表达式空白字符
- 用于电子邮件验证的正则表达式(最少字符数)
- Javascript 正则表达式查找字符并使用 span 动态换行文本
- 正则表达式匹配字符或数字