我有一個正則表達式的條件,限制是8個字符,它應該接受數字,字母和?
,如果我們在字段中輸入*
它應該給出錯誤。只有一個字符(*)或其他字母數字的正則表達式
或者如果我們在輸入字段中輸入*
,那麼整個字段只能接受一個*
,除此以外。
例如:*
相當於wer?23w4
正則表達式是:
/[a-zA-Z0-9?]{8}/
我有一個正則表達式的條件,限制是8個字符,它應該接受數字,字母和?
,如果我們在字段中輸入*
它應該給出錯誤。只有一個字符(*)或其他字母數字的正則表達式
或者如果我們在輸入字段中輸入*
,那麼整個字段只能接受一個*
,除此以外。
例如:*
相當於wer?23w4
正則表達式是:
/[a-zA-Z0-9?]{8}/
可以使用交替操作符(|
)來指定一個非此即彼的條件。你的情況:
/\*|[a-zA-Z0-9?]{8}/
這意味着要匹配:
*
字符,沒有別的?
恰好八個字符。注意,這取決於你如何在代碼中使用這個,你可能需要添加錨^
和$
,以確保它測試針對整個領域:
/^(?:\*|[a-zA-Z0-9?]{8})$/
試試
/(\*|[a-zA-Z0-9\?]{8})/g
例如
"33asdsad".match(/(\*|[a-zA-Z0-9\?]{8})/g);
和
"*".match(/(\*|[a-zA-Z0-9\?]{8})/g)
和
"234234?d".match(/(\*|[a-zA-Z0-9\?]{8})/g)
缺少錨:'^ \ * |([A-ZA-Z0-9?] {8} )'$ – Tushar