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模式并不是检查字符串是否与特定正则表达式匹配的方法。您需要使用诸如
请看下面的代码片段,以获取一个工作示例:
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中没有强制从字符串到正则表达式的过程。