JavaScript输入阿拉伯字母验证

JavaScript enter Arabic letters validation

本问题已经有最佳答案,请猛点这里访问。

我在一个简单的PHP网站上工作,用户必须以一种形式输入数据,

如果用户没有输入阿拉伯语字母,我想显示一条警告消息"仅限阿拉伯语",我尝试使用下面的代码,但如果我同时输入阿拉伯语或英语字母,它会显示警告消息。

1
2
3
4
5
6
function myFunction(){
var isArabic = "/[\u0600-\u06FF\u0750-\u077F]/";
var x  =  document.forms["myForm"]["fname"].value;
if(x != isArabic){
    alert("arabic only");
return false;}}


检查字符串是否等于regex模式并不是检查字符串是否与特定正则表达式匹配的方法。您需要使用诸如match()test()之类的函数,如果您的字符串输入与正则表达式匹配,该函数将返回true。

请看下面的代码片段,以获取一个工作示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
let englishInput ="hello";
let arabicInput ="?????";
function myFunction(userInput) {
  let regex = /[\u0600-\u06FF\u0750-\u077F]/;
  if(!userInput.match(regex)) { // Check if the regular expression matches
    alert("Only use english characters!");
  } else {
    alert("Arabic letters used!"); // Added this line just for showcasing
  }
}

myFunction(englishInput); // Will alert that english letters used
myFunction(arabicInput); // Will alert that arabic letters used


在您的示例中,您需要创建一个要测试的regex对象。

1
2
3
4
var isArabic = /[\u0600-\u06FF\u0750-\u077F]/;
if (isArabic.test(x)){
   ...
}

在javascript中没有强制从字符串到正则表达式的过程。