iT邦幫忙

0

表單中英文姓名 pattern 正規表達式設定

  • 分享至 

  • xImage

各位大大您好,想詢問

我將表單中的姓名欄位 設定成如下 (只能輸入中文名字)
<label for="name">姓名:</label> <input type="text" class="form-control" id="name" pattern="^[\u4E00-\u9FA5]{2,5}$" placeholder="輸入姓名" name="name" title="Please fill in the correct name" required />
但我想修改成能讓使用者輸入姓名時,不一定要是中文名字,也可以是英文名字
想問pattern可以怎麼修改? QQ

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

1
telery
iT邦新手 5 級 ‧ 2020-04-19 14:31:40
最佳解答

你試試看

^[\u4e00-\u9fa5]+$|^[a-zA-Z\s]+$

這樣應該就是只能輸入中文或只能輸入英文

HaoChen iT邦新手 4 級 ‧ 2020-04-20 16:57:55 檢舉

謝謝大大~已解決!!!~感謝您

0
dragonH
iT邦超人 5 級 ‧ 2020-04-11 15:50:33

codepen

這樣?

不過你可能就要修改一下長度

HaoChen iT邦新手 4 級 ‧ 2020-04-11 16:35:07 檢舉

謝謝大大的回覆~ 這樣欄位的確可以輸入英文跟中文 例如:abc林
但是可以只能都是英文,例如:Tim 或 都是中文嗎,例如:林小明
長度的部分可以修改~ 但不知道可不可以寫成,輸入中文時最多5個字,詩入英文時另外設定長度QQ 還是得另外用js寫?

dragonH iT邦超人 5 級 ‧ 2020-04-11 16:55:31 檢舉

qqharry

conditional regex

或許可以參考一下

不過我不確定 pattern 適不適用就是

我選的話

我會用 js 寫

比較彈性

UI 方面你可以用個 radio button 之類的

來讓他選中文或英文

不過最重要的

你在後端還是要驗證一次

畢竟

console 就能把你寫的 pattern 清空

我要發表回答

立即登入回答