2012-10-12 116 views
1

我想有一個字符串(a-z, A-Z, 0-9, can include '\', '/' and white sapces)正則表達式:字符串(包括AZ,az,0-9,可以包括 '', '/' 和白色sapce)

我試了這樣的正則表達式:

if (/[\s\\\/A-Za-z0-9]$/.test(Yourval)), 

但它不能正常工作,有人可以幫助我嗎?謝謝!

+1

你能舉一個包含你測試過的字符串的例子腳本嗎? – Darkwater

+0

「不好用」是什麼意思?你似乎忘了在比賽中允許多個角色。 –

+0

你只測試最後一個字符是否在這個類中。嘗試用'* $'替換'$'並在開始處添加一個'^'。 –

回答

3

這應該工作:

if (/^[a-zA-Z0-9\s\\\/]+$/.test('Something with/and \\ 0 9')) { 
    alert('Good news everyone!'); 
} 

...因爲在這裏你需要兩個錨點(無論是字符串的開始還是結尾),並且quanti很難測試多個單個角色。事實上,這可以被改寫,就像...

if (/[^a-zA-Z0-9\s\\\/]/.test('Something with/and \\ 0 9')) { 
    alert('Crazy gibberish!'); 
} 

...所以我們的測試壞字符,而不是試圖掩蓋,只有好的字符串。 )

+0

謝謝蕾娜,這是正確的! – Andrew

1

您可以使用下面的正則表達式:

/^[\s\\\/A-Za-z0-9]+$/.test(Yourval) 

,或者你可以測試一個壞角色的存在,這樣的:

/[^\s\\\/A-Za-z0-9]/.test(Yourval) 
+0

雖然他應該搜索字符串的開始和結尾。否則,這意味着它只需包含*一個*這些字符。他只需要在字符串中搜索多個。 – Eric

相關問題