正则表达式 - 匹配不含空格的字符串

10
构建一个正则表达式,将拒绝包含空格的输入字符串。
我有以下正则表达式,但它不能很好地工作;
^[a-zA-Z0-9!@#*()+{}[\\];:,|\/\\\\_\S-]+$

有效案例

String123/test //string without space

无效案例

String123/ test // contains space in between string 

String 123/test // contains space in between string 

 String123/test  // contains leading\trailing space

即,我必须将不包含任何空格的字符串加入白名单。


你只想拒绝空格还是还有其他字符? - Niitaku
1
console.log(!(/\s/.test('this is'))); 这将是情况 - Rahul
https://regex101.com/r/9gvVmm/1 - oruckdeschel
2个回答

17

您可以使用 \S

\S匹配任何非空白字符

正则表达式

/^\S+$/

例子

function CheckValid(str){
   re = /^\S+$/
   return re.test(str)
 }


console.log(CheckValid("sasa sasa"))
console.log(CheckValid("sasa/sasa"))                      
console.log(CheckValid("sas&2a/sasa"))                      
                       


@Justin 如果这个答案解决了问题,请接受它。 - Sarath Sadasivan Pillai
1
运行正常!!谢谢Sarath。 - Prabo
在Sublime Text中,它将是(^\S+$)。 - Дмитро Олександрович

1
我想你会在正则表达式上使用`.test`方法,/\s/g这个应该可以胜任,如果字符串中有任何空格,它将返回true。 例如:/\s/g.test("String123/test") 这将返回false,表示该字符串有效。 /\s/g.test("String123 /test) 这将返回true,表示该字符串无效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接