正则表达式不允许连续使用多个特殊字符
Regex to not allow multiple special chars in a row
我需要一个不允许连续使用多个特殊字符的正则表达式。
例如:
"这是一个测试" = 有效输入
"这,是一个测试" = 有效输入
'...." = 无效输入
"this,, is a test" = 无效输入
根据定义"特殊字符"的方式,可以使用:
var valid = !str.match(/[^a-z0-9's]{2}/i);
规格后更新:
对于这个,"特殊"字符是
,._-'"
var valid = !str.match(/[-,._'"]{2}/i);
为什么需要一个正则表达式来执行此操作?
var is_special_character = function(ch) { ... }
var is_valid = function(str) {
var special_characters = 0;
for(var i = 0; i < str.length; i++) {
if(is_special_character(str[i]))
special_characters++;
else
special_characters = 0;
if(special_characters > 1) return false;
}
return true;
}
相关文章:
- REGEX (javascript) - 允许字母数字字符中的特殊字符不在第一个位置
- 如何穿'不允许在javascript中只使用特殊字符
- 正则表达式不允许所有特殊字符,但允许其他语言,如希伯来语 JavaScript
- 正则表达式不允许特殊字符(Javascript)
- 正则表达式不允许连续使用多个特殊字符
- 不允许在文本框验证中使用特殊字符
- 正则表达式只允许字母数字和特殊字符不起作用
- 只允许数字和特殊字符,不允许使用字母
- 如何排除特殊字符并允许西班牙语/英语字母
- Regex不允许某些特殊字符
- 不允许使用除允许使用的字符javascript regex之外的特殊字符
- 不允许使用特殊字符jQuery
- 我如何验证一个文本框,它应该只允许字符a-Z&a-z,不是整数也不是特殊字符
- Javascript文本框不允许特殊字符
- Regexp表示不允许在结束/开始处使用特殊字符,但应该允许空格
- HTML特殊字符不会被Javascript替换
- 连字符不允许jQuery AJAX调用正常工作
- 如何验证html文本框不允许特殊字符和空格
- 限制特殊字符并允许字母
- 如何过滤所有特殊字符(下划线旁边)显示允许和不允许