![](/img/trans.png)
[英]How can I use regex to split a string on everything that is not a character
[英]How can I match everything not in a character set with regex and jQuery?
我正在嘗試排除 [az] [AZ] [0-9]和[〜!#$]以外的所有內容。
if( $("#name").val().test(/[^a-zA-Z0-9~!#$]/)) {
alert("Disallowed character used.");
return false;
}
我認為test如果找到匹配項將返回true,這是因為我包括了插入符號,它應該與表達式中不存在的所有內容匹配。
但是,這樣的輸入有效:jAcK %% $ 21#x
當它因為有符號而無法正常工作時,我正嘗試禁止這樣做。
我哪里出問題了?
謝謝
使用match
代替test
,因為test是RegExp
函數而不是String
var hasBadInput = !!"jAcK%%$21#x".match(/[^a-zA-Z0-9~!#$]/) //true
或反轉位置
(/[^a-zA-Z0-9~!#$]/).test("jAcK%%$21#x") //returns true
Regexp.prototype.test()
應該在正則表達式上調用。
var $name = $("#name"); $name.on("keyup", function(e) { if(/[^a-zA-Z0-9~!#$]/.test($name.val())) { console.log("Nope"); return false; } else { console.log("Good"); } })
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <input type="text" id="name" >
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.