javascript - 正则表达式 允许的特殊字符中一次只能使用一个特殊字符 Javascript

标签 javascript regex

我想允许 3 个字符 第一个下划线 (_)、第二个连字符 (-) 第三个点 (.)

但我想设置一个条件,即一次只允许使用所有字符中的一个字符,而且只能使用一次。
例如
允许的用户名 = abc.def 、 abc-def 、 abc_def
不允许的用户名= abc.de.f 警告(用户名中只允许有一个特殊字符)
不允许的用户名 = abc.de-f 、 abc.de_f 、 ab-cd_ef

我该怎么办。

最佳答案

尝试 /^[a-z]*[-._]?[a-z]*$/

var tests = ['abc.def', 'abc-def', 'abc_def', 'abc.de.f','abc.de-f' , 'abc.de_f', 'ab-cd_ef'];
$.each(tests, function(a,b) {
  $('body').append('<div>' + b + ' = ' + regIt(b) + '</div>');
});

function regIt(str) {
  return /^[a-z]*[-._]?[a-z]*$/.test(str);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

关于javascript - 正则表达式 允许的特殊字符中一次只能使用一个特殊字符 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43325101/

相关文章:

javascript - 如何将表单字段的值设置为 JSON 中的值?

javascript - 将项目附加到 JSON 对象中的列表的最佳方法?

javascript - 返回上一页后图像不隐藏

java - 使用 Java 从 URL 截断域

python - re.findall() 查找所有包含否定项的二元组

c# - 快速字符串替换为通配符

python /正则表达式 : match letter only or letter followed by number

javascript - UI-Router ng-class ="$state.includes(' name')"不在指令中工作

Python RegEx 跳过前几个字符?

javascript - AngularJS 从按钮单击中选择选项卡