var reg = new RegExp("[!@#$%^&()`'_:;,:;。]")
reg.test('Abc')
正則中的特殊字符,隨便敲了一些。
但測驗出一個問題是,只要包含大寫字符就通不過,其他都是OK的。
甚至是網上的同樣功能的例子,也都有這個bug。
uj5u.com熱心網友回復:
不是要取反值嗎
var reg = new RegExp("[!@#$%^&()`'_:;,:;。]")
console.log(!reg.test('Abc')) // true
console.log(!reg.test('!Abc')) // false
你對特殊字符的定義是什么,是你選擇的這些“!@#$%^&()`'_:;,:;。]”,還是除了大小寫字母和數字之外都是特殊
uj5u.com熱心網友回復:
你這個正則是字串中必須至少有!@#$%^&()`'_:;,:;。中的一個特殊字符才回傳true。和包含不包含大寫字符沒關系
var reg = new RegExp("[!@#$%^&()`'_:;,:;。]")
alert(reg.test('Abc&')); //true
uj5u.com熱心網友回復:
也就是只要包含這些特殊字符,就不通過。我那個demo是 test('Abc'),也是回傳的false,所以很奇怪
uj5u.com熱心網友回復:
[!@#$%^&()`'_:;,:;。]你這個是字串中不包含這些特殊字符就不通過。包含特殊字符才通過。
'Abc'字串中不包含特殊字符自然回傳的false,不通過,有什么奇怪的?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/165553.html
標籤:JavaScript
上一篇:微信小程式開發問題
