字母数字,破折号和下划线,但没有空格正则表达式检查JavaScript
Alphanumeric, dash and underscore but no spaces regular expression check JavaScript
尝试根据正则表达式检查输入
字段应该只允许字母数字字符,破折号和下划线,不允许空格。
但是,下面的代码允许空格
我错过了什么?
var regexp = /^[a-zA-Z0-9'-'_]$/;
var check = "checkme";
if (check.search(regexp) == -1)
{ alert('invalid'); }
else
{ alert('valid'); }
但是,下面的代码允许空格
不,没有。但是,它只匹配长度为1的输入。对于长度大于或等于1的输入,您需要在字符类后面有一个+
:
var regexp = /^[a-zA-Z0-9-_]+$/;
var check = "checkme";
if (check.search(regexp) === -1)
{ alert('invalid'); }
else
{ alert('valid'); }
注意,-
(在本例中)和_
都不需要转义。
这是我能找到的用于此检查的regex表达式的最简洁的语法:
const regex = /^['w-]+$/;
你应该不要使用String。匹配,但RegExp.prototype.test(即/abc/.test("abcd")
)而不是String.search(),如果你只对布尔值感兴趣。你还需要重复Andy E在回答中解释的角色类别:
var regexp = /^[a-zA-Z0-9-_]+$/;
出现愚蠢的错误。所以,如果有人觉得有用,请在这里发帖
-
[-'._]
-表示连字符、点和下划线 -
['.-_]
-表示从点到下划线范围内的所有符号
试试这个
"[A-Za-z0-9_-]+"
应该允许下划线和连字符
试试这个,它对我来说工作得很好。
"^([a-zA-Z])[a-zA-Z0-9-_]*$"
不要转义下划线。
相关文章:
- 正则表达式搜索一个空格,后跟一个字符
- 较短的正则表达式,按2个条件拆分,外部有空格
- 正则表达式,用于去掉逗号后的单个空格
- 正则表达式允许字母数字和空格,但不允许连续两个空格
- 正则表达式和 javascript:匹配数字后跟空格和大写字母之间的所有内容
- 正则表达式匹配空白或空格 JavaScript
- 字符串替换正则表达式,开头为空格
- 如何在正则表达式中匹配空格、换行符
- 为什么当我在正则表达式中放置空格键时,我的 Javascript test() 函数失败了
- 用于匹配带空格和不带空格的多个单词的正则表达式
- 正则表达式,用于除所有空格和一个特殊字符之外的所有内容
- 使用正则表达式获取多个单词,单词之间留有空格
- 如何使正则表达式接受ONLY字母表和空格
- Javascript正则表达式,返回连字符和空格后面的数字
- JS正则表达式匹配单词,包括用空格括起来的单词
- 需要帮助设计正则表达式来选择'|'和'|'如果第一个'|'后面跟着一个空格
- 在搜索表单中,替换空格或仅使用正则表达式的隐词和数字
- 在jQuery源码中理解空格正则表达式
- 带有空格正则表达式的字母数字
- 字母数字,破折号和下划线,但没有空格正则表达式检查JavaScript