Don'如果javascript中存在字符,则t匹配
Don't match if character is present in javascript
我正在尝试测试输入字段是否包含有效的"slug"(一个只能包含破折号和小写字母的字符串,用于URL)
我的问题是,用户可以写一个有效的段塞,但他们可以在有效字符之后写无效字符,而且它仍然匹配。
我的正则表达式如下:/[a-z'-]+/
这应该匹配:'my-slug-is-valid'
但这不应该匹配:'my-SLUG-is not valid'
然而,当我针对最后一个字符串测试正则表达式时,会返回true
。
var re = /[a-z'-]+/,
str = 'my-SLUG-is not valid';
if (re.test(str) && str !== '') {
console.log('Valid');
}
如果存在不属于char类的字符,是否可以返回false?
看起来您正在尝试匹配整个字符串。在这种情况下,将锚点添加到正则表达式:
re = /^[a-z'-]+$/
var re = /^[a-z-]+$/;
您需要^和$来锚定字符串的开头和结尾。
相关文章:
- Regex匹配除“”之外的所有字符;.js”;
- 用于匹配不带字符的单词的正则表达式
- 如何将单词(包括单词)与连字符匹配
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 替换与单词'匹配的文本字符;购物车'替换为img图标
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- RegExp插入字符匹配并且应该'不要
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 用于匹配精确单词的正则表达式会影响特殊字符匹配
- 如何正则表达式与特殊字符 / 匹配
- 正则表达式使用javascript为每个字符匹配不同的集合
- 在开头或结尾使用特殊字符匹配单词
- JS正则表达式在数据表中用连字符匹配整个单词
- 正则表达式,用于将所有字符匹配到下一个匹配项
- 仅与字母字符匹配的正则表达式变量
- Javascript正则表达式字符匹配
- 当字符匹配模式时从数组返回索引
- RegExp通过字符串的中间字符匹配来拆分字符串
- 将正则表达式与下一个特殊字符匹配,同时允许空格