使用javascript

时间:2018-08-19 06:21:30

标签: javascript validation unicode

我们有多个较大的表格,在继续填写表格之前,有几个问题需要通知用户,例如:

  
      
  • 标有星号(*)的字段是必需的
  •   
  • 除上述例外情况外,所有字段均应用英语填写
  •   
  • 另存为草稿按钮将不会验证表单并保存所有内容
  •   

因此,我们决定限制用户在非孟加拉语字段中输入孟加拉语,而不是像上面那样发出通知。至少那将删除一行。 :)

There're ways仅接受英文字符。但是可能会有数字,特殊字符,诸如 e-acute é)之类的拉丁字符等。因此,我们决定撤销此限制,以限制用户在这些字段中输入孟加拉语字符。

我们该怎么做?

jQuery(document).ready(function($) {
   $('.restrict-bengali').on('keyup change', function() {
      // RESTRICT BENGALI INPUT
   });
});

研究

见过this StackOverflow thread来查找Unicode文本,但是由于缺乏JavaScript知识而无法理解所有内容。

Unicode Range for Bengali是:0980-09FF

1 个答案:

答案 0 :(得分:0)

表达式是

var reg = new RegExp("^[^\u0980-\u09ff]*$");
//assuming you have an input variable inputText
inputText.match(reg);

第一个^ =文本的开头

$ =文本结尾

[]中的

[^\u0980-\u09ff]是指字符集

^中的

[^\u0980-\u09ff]*除集合中的字符外,*表示集合中的零个或多个字符,其中包括异常字符。

如果您将^中的[^\u0980-\u09ff]*删除为[\u0980-\u09ff]*,则它将接受零个或多个孟加拉字符。

您已经提到0980-09ff表示孟加拉字符,\u表示超出拉丁字符的字符扩展,u可能表示unicode。