【问题标题】:How to accept only characters to text area with Turkish characters?如何只接受带有土耳其字符的文本区域的字符?
【发布时间】:2020-12-29 11:19:28
【问题描述】:

这是我的 textareainput 代码,它只接受字符而不是数字。

var harfInput1 = document.getElementById('graduated_university_country');
    harfInput1.addEventListener("keyup",function(){
        if (harfInput1.value.match(/[^a-zA-Z' ']/g)){
            harfInput1.value = this.value.replace(/[^a-zA-Z]/g,'');
        }
    })

问题是我不能接受这样的土耳其字符。我尝试在下面添加代码,但没有成功。

var harfInput1 = document.getElementById('graduated_university_country');
    harfInput1.addEventListener("keyup",function(){
        if (harfInput1.value.match(/[^a-zA-Z' '][^\wığüşöçĞÜŞÖÇİ]/g)){
            harfInput1.value = this.value.replace(/[^a-zA-Z][^\wığüşöçĞÜŞÖÇİ]/g,'');
        }
    })

有什么建议吗?

【问题讨论】:

  • 这个Regular Expressions 可能会有所帮助。
  • 您修改后的代码使用两个字符类,需要两个字符,每个字符一个,并排。你想要一个单一的字符类:/[^a-zA-Z' '\wığüşöçĞÜŞÖÇİ]/g 还要注意\w 包括a-zA-Z,因此该部分变得多余,第二个' 也是如此。您可能还需要i 标志,而您不需要或不需要g 标志:/[^' \wığüşöçĞÜŞÖÇİ]/i。另外:当你只是想知道某事是否匹配并且你不使用匹配的结果时,使用test方法而不是match:/[^' \wığüşöçĞÜŞÖÇİ]/i.test(harfInput1.value)
  • 这非常适合土耳其字符,但它也允许我输入数字我会再试一次我是 js 的初学者谢谢你的帮助:)

标签: javascript inout


【解决方案1】:

您可以使用下面的代码 sn-p 使用 Regular expressions 捕获所有字母,包括带有 Javascript 的土耳其字母。

var harfInput1 = document.getElementById('graduated_university_country');
  harfInput1.addEventListener("keyup",function(){
  if (harfInput1.value.match(/[^a-zA-Z' 'wığüşöçĞÜŞÖÇİ]/g)){
      harfInput1.value = this.value.replace(/[^a-zA-ZwığüşöçĞÜŞÖÇİ]/g,'');
  }
})
<textarea name="" id="graduated_university_country" cols="" rows=""></textarea>

【讨论】:

    【解决方案2】:

    您是否尝试过 .charAt()。检查输入字符是否在土耳其语 unicode 范围内。

    【讨论】:

      【解决方案3】:

      我建议你看看正则表达式,regex: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

      一旦你了解了正则表达式,请尝试使用以下正则表达式:

      [^A-Z^a-z^0-9^şŞıİçÇöÖüÜĞğ\s]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-21
        • 2012-12-19
        • 2012-05-13
        • 1970-01-01
        • 2016-10-09
        • 1970-01-01
        • 2016-10-26
        • 1970-01-01
        相关资源
        最近更新 更多