![](/img/trans.png)
[英]How to check if a string has at least 6 characters in it in javascript?
[英]How to check string against whitelisted characters in JavaScript?
我有一些代碼可以轉換用戶輸入以確保唯一允許的字符是 abcdefghijklmnopqrstuvwxyz-0123456789
https://jsfiddle.net/py4pnr0L/
value = 'GHJHlk;sxa787BVK'
value = value.toLowerCase()
value = value.replace(/[^a-z0-9\-]/gi, '-')
console.log(value)
返回:ghjhlk-sxa787bvk
我將如何不進行轉換,而只是測試以查找給定字符串是否包含超出允許范圍的字符?
我想知道的是給定輸入字符串的真/假。
我使用的是 ES2015,所以如果使用 ES2015 可以使用最干凈的解決方案,那就沒問題了。
您可以使用 match 方法,嘗試以下操作:
value = 'GHJHlksxa787BVK'; console.log(!value.match(/[^a-zA-Z0-9\\-]/))
您可以使用RegExp#test()
方法:
執行搜索正則表達式和指定字符串之間的匹配項。 返回
true
或false
。
此方法不應使用/g
修飾符,以便lastIndex
屬性不會弄亂結果。 請參閱為什么在 Javascript 中帶有全局標志的 RegExp 會給出錯誤的結果? 詳情。
您的正則表達式/[^a-z0-9-]/i
(匹配任何不在az
和AZ
和0-9
范圍內的字符,而不是-
)可以在這里使用。 只需取出/g
。
var value = "GHJHlksxa787BVK"; document.body.innerHTML = /[^a-z0-9-]/i.test(value);
/i
是不區分大小寫的修飾符, /[az]/i
= /[A-Za-z]/
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.