我試圖將輸入欄位限制為僅數字和“ ”符號的可能性,僅在字串的 [0] 索引處。這個想法是讓用戶輸入他們的電話號碼,我想出了這個:
function main() {
let phone = document.getElementById('phone');
let phoneRegex = /[a-zA-Z]|[-!$%^&*()_|~=`{}[\]:";'<>?,./]/;
phone.value = phone.value.replace(phoneRegex, '');
console.log(phone.value);
}
<input id="phone">
<button onclick="main()">Run</button>
問題是,這很好用,但我想將第一個字符限制為只有數字或“ ”號,來自索引 [1] 的字符應該只能是數字。
我想不出如何解決這個問題的想法
uj5u.com熱心網友回復:
嘗試將此作為起點(您可能希望進一步擴展它以考慮總字串長度、分隔符-等):
let phoneRegex = /\ ?\d /;
在正則運算式中有著特殊的意義,所以當我們想匹配字面字符“ ”時,我們需要對它進行轉義。跟在它后面的?字符使它成為可選的:
\ ?
接下來,\d后跟 將匹配一個或多個數字的任何序列:
\d
您可以在此處查看此模式的可視化。
uj5u.com熱心網友回復:
我想將第一個字符限制為只有數字或“ ”號,來自索引 [1] 的字符應該只能是數字。
正則運算式:
/^\ ?\d $/
方法:
從一開始,一個或零 符號,然后一個或多個數字直到結束。
請注意以下正則運算式符號:
*- 零個或多個- 一個或多個?- 零或一
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/322557.html
標籤:javascript 正则表达式
