[英]RegEx for no whitespace at the beginning and end but allows all special characters , spaces , lowercase and uppercase alphabet and numbers in between
[英]What is the regex for finding special characters and whitespace at the beginning AND end of the string?
我正在嘗試編寫一個驗證器來檢查是否存在空格和/或特殊字符,但是我不確定如何繼續。
到目前為止,這是我所擁有的:
const isValid = !/(^\s!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?|!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?\s$)/g.test(control.value)
但它似乎不起作用。 我確定我的正則表達式做錯了什么,但我不知道該怎么辦。
現在,您正在嘗試以相同的順序在字符串的開頭或結尾匹配所有特殊字符。
您需要使用方括號告訴正則表達式您正在尋找這些字符之一,而不是全部。
(^[\\s!@#$%^&*()_+\\-=\\[\\]{};':"\\\\|,.<>\\/?]|[!@#$%^&*()_+\\-=\\[\\]{};':"\\\\|,.<>\\/?\\s]$)
要檢查開頭和結尾是否沒有特殊字符,您需要使用正則表達式字符類 ,並在[
和]
之間使用字符 。 ^
檢查開始, $
檢查結束。 管道|
用於或確保檢查開始和結束。
const isValid = !/^[\b\^\s\!\@\#\$\%\^\&\*\(\)\_\+\-\=\[\]\{\}\;\'\:\"\b\|\,\.\<\>\/\?]|[\b\^\s\!\@\#\$\%\^\&\*\(\)\_\+\-\=\[\]\{\}\;\'\:\"\b\|\,\.\<\>\/\?]$/.test(control.value)
在字符串和正則表達式中轉義非特殊字符不會對結果產生任何影響,因此對所有字符都使用反斜杠更為安全(無錯誤)。 它使代碼更易於理解。 它的執行速度不會變慢。
為了避免后退,您可以執行\\b
,而不是\\\\
您不需要用於繼續搜索的g
標志 。
無需在這些上退格:
!
@
#
$
%
^
&
*
(
)
,
.
?
"
:
{
}
|
<
>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.