3 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
刪除非字母數(shù)字字符
以下是/正確的正則表達(dá)式,用于從輸入字符串中剝離非字母數(shù)字字符:
input.replace(/\W/g, '')
請(qǐng)注意,\W這等效于[^0-9a-zA-Z_]-它包括下劃線字符。要?jiǎng)h除下劃線,請(qǐng)使用例如:
input.replace(/[^0-9a-z]/gi, '')
輸入格式錯(cuò)誤
由于測(cè)試字符串包含各種轉(zhuǎn)義的字符(不是字母數(shù)字),因此它將刪除它們。
如果要按字面意義進(jìn)行處理,則字符串中的反斜杠需要轉(zhuǎn)義:
"\\test\\red\\bob\\fred\\new".replace(/\W/g, '')
"testredbobfrednew" // output
處理格式錯(cuò)誤的字符串
如果您無(wú)法正確轉(zhuǎn)義輸入字符串(為什么?),或者它來(lái)自某種不受信任/配置錯(cuò)誤的源,則可以執(zhí)行以下操作:
JSON.stringify("\\test\red\bob\fred\new").replace(/\W/g, '')
"testredbobfrednew" // output
請(qǐng)注意,字符串的json表示形式包括引號(hào):
JSON.stringify("\\test\red\bob\fred\new")
""\\test\red\bob\fred\new""
但是它們也會(huì)被替換的正則表達(dá)式刪除。
添加回答
舉報(bào)