Javascript 正则表达式验证特殊字符的单次出现

标签 javascript regex

我有一个字符串要使用 javascript Regex 进行验证。该字符串可以单次出现任何不同的特殊字符。我尝试了以下模式。

/^[A-Za-z0-9]*[-!$%^&*()_+|~=`{}\[\]:";'<>?,.\/]?[A-Za-z0-9]*$/

但它允许任意两个不同的特殊字符。但根据我的情况,它应该允许每个特殊字符一次(例如,可以接受一次出现“&”和“%”,但不允许两次出现“&”或任何其他字符)。请帮忙。

最佳答案

^(?!.*([!$%^&*()_+|~=`{}\[\]:";'<>?,.\/-]).*\1)[!$%^&*()_+|~=`{}\[\]:";'<>?,.\/A-Za-z0-9-]+$

试试这个。这将允许 特殊字符 0 或更多 但不会有相同的`特殊字符两次。参见演示。

https://regex101.com/r/bW3aR1/5

var re = /^(?!.*([!$%^&*()_+|~=`{}\[\]:";'<>?,.\/-]).*\1)[!$%^&*()_+|~=`{}\[\]:";'<>?,.\/A-Za-z0-9-]+$/gm;
var str = 'abc12*$%\nabcd12324';
var m;

while ((m = re.exec(str)) != null) {
if (m.index === re.lastIndex) {
re.lastIndex++;
}
// View your result using the m-variable.
// eg m[0] etc.
}

关于Javascript 正则表达式验证特殊字符的单次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29071576/

相关文章:

javascript - 在 jquery 中通过文本选择选项

下拉菜单上的单击事件的 JavaScript 问题

PHP REGEX 删除括号和括号内的文字

javascript - 正则表达式字符串显示错误

php - 正则表达式从 [shortcode] 中提取变量

javascript - 重复使用多实例的精细 uploader 代码

javascript - "window.angular is undefined."使用 Protractor 进行自动化测试时?

javascript - 如何最大限度地延长黑客可读 JavaScript 代码的时间?

regex - 使用 unix sed 替换 js 路径

c# - 匹配字符串的正则表达式是什么,无论它在任意数量的不同索引处有 1 个或更少的撇号,还是根本没有?