我正在嘗試編寫一個只允許字母,數字,單個空格,'-'
字面值和'/'
字符的正則表達式。我如何限制我的表情只有這些?正則表達式從字符串的中間和末尾刪除特殊字符
如果我進入"This should be invalid because it ends with!!! these"
,它仍然是返回一個有效的字符串,即使是在最後一個感嘆號。
一個我並不完全正確:
[A-Z]|[a-z]|[0-9]|/|\s|-
我正在嘗試編寫一個只允許字母,數字,單個空格,'-'
字面值和'/'
字符的正則表達式。我如何限制我的表情只有這些?正則表達式從字符串的中間和末尾刪除特殊字符
如果我進入"This should be invalid because it ends with!!! these"
,它仍然是返回一個有效的字符串,即使是在最後一個感嘆號。
一個我並不完全正確:
[A-Z]|[a-z]|[0-9]|/|\s|-
的這裏的問題是,默認情況下,正則表達式不必匹配整個字符串。一個角色足以組成一場比賽(有時甚至沒有)!你需要圍繞你的正則表達式像^(?: ...)+$
做,只要你想它的工作:
console.log([
'This should be invalid because it ends with!!! these', //=> false
'This is valid' //=> true
].map(/ /.test,
/^(?:[A-Z]|[a-z]|[0-9]|\/|\s|-)+$/
))
然而,一個更緊湊的方式來寫同樣的表情會是^[A-Za-z\d\s\/-]+$
。
console.log([
'This should be invalid because it ends with!!! these', //=> false
'This is valid' //=> true
].map(/ /.test,
/^[A-Za-z\d\s\/-]+$/
))
您好,我只是當你刪除了一個答案來完成您的Access計時器的問題。 :(不是很好,照顧轉發嗎? – Andre
我不知道如何撤消刪除 - 我沒有再去掉代碼:(從我工作的計算機上發佈它,沒有在我的電腦上發佈。 @Andre – Tannavee