我的表单中有一个用户名字段。我想不允许在字符串中的任何位置使用空格。我用过这个正则表达式:
var regexp = /^\S/;
如果角色之间有空格,这对我有用。也就是说,如果用户名是ABC DEF
。如果一个空间在开头,它就不起作用,例如<space><space>ABC
。正则表达式应该是什么?
答案 0 :(得分:56)
虽然您已指定start anchor和第一个字母,但您尚未对字符串的其余部分执行任何操作。在repetition:
之前,您似乎需要character class end of the stringvar regexp = /^\S*$/; // a string consisting only of non-whitespaces
答案 1 :(得分:12)
使用+
加号(与之前的一项或多项匹配),
var regexp = /^\S+$/
答案 2 :(得分:0)
这将有助于查找开头,中间和结尾的空格:
var regexp = /\s/g
答案 3 :(得分:0)
只有在没有空格的情况下,此字段才会与输入字段或字符串匹配。如果有空格,将完全不匹配。
/^([A-z0-9!@#$%^&*().,<>{}[\]<>?_=+\-|;:\'\"\/])*[^\s]\1*$/
从行的开头到结尾进行匹配。接受字母数字字符,数字和大多数特殊字符。
如果只需要字母数字字符,则可以像这样更改[]中的内容:
/^([A-z])*[^\s]\1*$/
答案 4 :(得分:0)
如果您使用的某些插件需要字符串,并使用构造Regex创建正则表达式对象,例如new RegExp()
比以下字符串更有效
'^\\S*$'
同一个正则表达式@Bergi只是为新的RegExp构造函数提供了字符串版本