我有以下.NET正則表達式,用於驗證在後端我的數據:.NET正則表達式工作在測試而不是在代碼
[_#\p{Ll}\p{Lu}0-9]{1}[/()0-9\p{Ll}\p{Lu}_\.\s-\?]*
我必須使相同的驗證在JavaScript中,所以我把它翻譯是這樣的:
^[#\\u0400-\\u04FF\w][\/\(\).\\u0400-\\u04FF\s\w]*
很是怪異,它的作品的在線測試儀就好了,但它在控制檯或在我的代碼沒有作用:
function ValidateColumnName(strColName){
var regex = /^[#\\u0400-\\u04FF\w][\/\(\).\\u0400-\\u04FF\s\w]*/gu;
return regex.test(strColName);
}
ValidateColumnName("中");
正則表達式的含義應該是:
它可以與這個符號的一個開始:_,#,信 (允許使用unicode),number
它可以繼續使用一個或多個這樣的:/,(,),NUMER,信(unicode的允許),-,。,空間
例字符串:
通行證:
тест
12тест
_тест
_test
тест()
те\ст/
...
未通過:
()тест
$test
!тест
-тест
...
我失去的東西,是在在線測試儀(默認),但不是在我的代碼?
您編輯成問題的代碼不符合您最初發布的圖像中的版本。用'\\ u0400'它不起作用,但是它有'''''。 – Pointy
@你說得對,我的錯。這是我試過的錯誤版本。現在我再次編輯它 – Nyagolova