簡體   English   中英

輸入字段中不允許有空格的正則表達式

[英]Regular expression for not allowing spaces in the input field

我的表單中有一個用戶名字段。 我不想在字符串中的任何地方允許空格。 我用過這個正則表達式:

var regexp = /^\S/;

如果字符之間有空格,這對我有用。 也就是說,如果用戶名是ABC DEF 如果開頭有空格,則不起作用,例如<space><space>ABC 正則表達式應該是什么?

當您指定了起始錨點和第一個字母時,您還沒有為字符串的其余部分做任何事情。 您似乎想要重復字符類,直到字符串結束

var regexp = /^\S*$/; // a string consisting only of non-whitespaces

使用+加號(匹配一個或多個前面的項目),

var regexp = /^\S+$/

這將有助於找到開頭、中間和結尾的空格:

var regexp = /\\s/g

如果您正在使用一些接受字符串並使用構造 Regex 的插件來創建 Regex 對象 i:e new RegExp()

比下面的字符串將起作用

'^\\S*$'

同樣的正則表達式@Bergi 只提到了新的 RegExp 構造函數的字符串版本

如果沒有空格,這將僅匹配輸入字段或字符串。 如果有任何空格,它將根本不匹配。

/^([A-z0-9!@#$%^&*().,<>{}[\\]<>?_=+\\-|;:\\'\\"\\/])*[^\\s]\\1*$/

從行首到行尾匹配。 接受字母數字字符、數字和大多數特殊字符。

如果您只想要字母數字字符,則更改 [] 中的內容,如下所示:

/^([Az])*[^\\s]\\1*$/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM