我想讓我的輸入字段中的每個字符除外^ _^^^^^^^^^^^^^^^>%*()#!?爲此我使用這個約束。 用於客戶端驗證正則表達式模式不起作用
final String regexpattern = "/[^<>%*()#!?]/";
用於服務器端
final Pattern pat = Pattern.compile("/[^<>%*()#!?]/");
,但它不工作
我想讓我的輸入字段中的每個字符除外^ _^^^^^^^^^^^^^^^>%*()#!?爲此我使用這個約束。 用於客戶端驗證正則表達式模式不起作用
final String regexpattern = "/[^<>%*()#!?]/";
用於服務器端
final Pattern pat = Pattern.compile("/[^<>%*()#!?]/");
,但它不工作
在客戶端上的圖案應該是
regexpattern = /^[^<>%*()#!?]*$/
服務器
final Pattern pat = Pattern.compile("^[^<>%*()#!?]*$");
如果你也不想要'^'字符,你必須使用'[^ <>%*()#!?^]' – Robin
它只適用於一個字符,之後需要添加「+」或「*」。
你應該有^
和$
在指定的開始和結束的字符串的模式,否則只會驗證是否有字符串中的至少一個有效的字符,而不是字符串中的所有字符都是有效的。
此外,您需要一個字符集的乘數,否則它只會匹配一個字符長的字符串。要允許零個或多個字符使用*
,並允許使用一個或多個字符+
。你也可以使用一個範圍,例如{2,10}
允許2到10個字符。
^
在設置的開始是使它爲負,所以不允許^
你也需要它在集合中的字符中。
斜槓是正則表達式文字的分隔符。要麼你寫的圖案作爲一個字符串,你可以用它來創建一個正則表達式對象:
pattern = "^[^^<>%*()#!?]+$";
,或者你把它寫成一個正則表達式的文本,這成爲一個正則表達式對象:
regex = /^[^^<>%*()#!?]+$/;
在我看來,你的正則表達式將工作,但真正的返回值意味着輸入無效,假意味着輸入有效。 – OGHaza