我有一個字符串,我想驗證該字符串,以便它不應該包含某些字符,如'/'''''&'';'等等......我怎樣才能一次完成這一切?Javascript字符串驗證
2
A
回答
13
你可以用正則表達式解決這個問題!
mystring = "hello"
yourstring = "bad & string"
validRegEx = /^[^\\\/&]*$/
alert(mystring.match(validRegEx))
alert(yourstring.match(validRegEx))
與正則表達式的匹配返回字符串,如果它是好的,或者如果它是無效的,則返回null!
說明:
- JavaScript的正則表達式的文字被分隔字符串一樣,但用斜槓(
/
的)而不是引號("
的)。 validRegEx
的第一個字符和最後一個字符使它與整個字符串匹配,而不僅僅是部分,克拉將它錨定到開頭,美元符號結束。- 括號內的部分(
[
和]
)是一個字符類,只要它在類中就匹配任何字符。其中的第一個字符,即克拉,表示該類被否定,以匹配字符類中未提及的字符。如果它已被省略,則類將匹配它指定的字符。- 接下來的兩個序列,
\\
和\/
是反斜線,因爲本身反斜線將是別的一個轉義序列,和正斜槓會混淆解析器以爲它已經達到了表達式的末尾, (完全類似於字符串中的轉義引號)。 - 「&」符號(
&
)沒有特殊含義且未轉義。
- 接下來的兩個序列,
- 其餘的字符,該克萊尼明星,(
*
)意味着,無論preceeded應該匹配零次或多次,使字符類會吃那麼多字符不在向前或向後斜線或&符號,包括無法找到任何符號。如果你想確保匹配的字符串是非空的,你可以用一個加號替換它(+
)。
+0
嗯......除了JavaScript正則表達式沒有`match`函數,只有`test`。 – 2016-11-16 02:02:15
5
我會使用正則表達式。
查看來自Mozillla.org的this guide。這個article也很好地介紹了JavaScript中的正則表達式。
3
Here是一篇關於Javascript驗證的好文章。請記住,您還需要在服務器端進行驗證。 Javascript驗證可以很容易地避開,所以它不應該用於安全原因,如防止SQL注入或XSS攻擊。
0
你可以使用正則表達式。例如,如果您的字符串匹配:
[\\/&;]+
那麼它是無效的。看看: http://www.regular-expressions.info/javascriptexample.html
0
你也許可以使用regular expression。
1
可以使用的測試方法,用正則表達式:
function validString(input){
return !(/[\\/&;]/.test(input));
}
validString('test;') //false
1
您可以學習正則表達式,或(可能更簡單,如果你一次只檢查一個字符),你可以有一個字符列表,然後用某種sanitize
函數從字符串中刪除每個字符。
var myString = "An /invalid &string;";
var charList = ['/', '\\', '&', ';']; // etc...
function sanitize(input, list) {
for (char in list) {
input = input.replace(char, '');
}
return input
}
那麼接下來:
sanitize(myString, charList) // returns "An invalid string"
0
正如其他人回答就可以解決這個與正則表達式,但記得要還檢查值服務器端。不保證用戶已激活JavaScript。永遠不要相信用戶輸入
相關問題
- 1. 驗證字符串
- 2. 驗證字符串
- 3. Javascript函數來驗證AES字符串?
- 4. 驗證JSON字符串在JavaScript
- 5. 使用javascript驗證json字符串
- 6. 字符串時間驗證(在javascript中)
- 7. 如何驗證JavaScript中的字符串?
- 8. 字符串字母驗證
- 9. PHP驗證和驗證字符串
- 10. Javascript驗證字符串是一個字符後跟數字
- 11. Javascript特殊字符驗證
- 12. PHP字符串驗證
- 13. 驗證Facebook DateTime字符串
- 14. 字符串索引驗證
- 15. 驗證日期字符串
- 16. 驗證查詢字符串?
- 17. MVC3字符串驗證
- 18. 驗證輸入字符串
- 19. 驗證字符串格式
- 20. C#字符串驗證
- 21. Java:驗證字符串
- 22. RegEx字符串驗證器
- 23. 從字符串驗證Uri
- 24. 驗證字符串輸入
- 25. Jing Relaxng驗證字符串
- 26. 字符串驗證ActionScript
- 27. @Min驗證字符串
- 28. 字符串路徑驗證
- 29. DFA字符串驗證
- 30. java-字符串驗證
與對黑名單中不允許的字符進行檢查相比,您可能會更好地檢查字符串與允許的字符白名單,例如,只允許字母數字字符。 – 2009-06-16 09:23:03