我有一些输入文本字段,用户必须在某些字段中仅输入字母表(或)仅在某些字段中输入数字等。我使用正则表达式以英语实现了这一点但是如何用阿拉伯语进行。
这是我的英语验证码
//只输入字母
$(".alphaOnly").bind("keyup blur", function(e){
if(e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=32 && e.keyCode!=17 && e.keyCode!=8 && e.keyCode!=46 && !e.ctrlKey){
$(this).val( $(this).val().replace(/[^a-zA-Z_ ]*$/,'') );
}
});
$(".alphaOnly").bind("keydown blur", function(e){
if($(this).val().length == 0){
if(e.keyCode==32){
$(this).val("");
e.preventDefault();
}
}else{
if(e.keyCode!=37 && e.keyCode!=39 && e.keyCode!=32 && e.keyCode!=17 && e.keyCode!=8 && e.keyCode!=46 && !e.ctrlKey){
$(this).val( $(this).val().replace(/[^a-zA-Z_ ]*$/,'') );
}
}
});
答案 0 :(得分:1)
列表的阿拉伯字符集
[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]
您可以按如下方式使用正则表达式进行测试:
function HasArabicCharacters(text)
{
var arregex = /[\u0600-\u06FF]/;
alert(arregex.test(text));
}
Unicode中的阿拉伯语脚本:
阿拉伯语脚本包含在以下块中:
Arabic (0600—06FF, 225 characters)
Arabic Supplement (0750—077F, 48 characters)
Arabic Extended-A (08A0—08FF, 39 characters)
Arabic Presentation Forms-A (FB50—FDFF, 608 characters)
Arabic Presentation Forms-B (FE70—FEFF, 140 characters)
Rumi Numeral Symbols (10E60—10E7F, 31 characters)
Arabic Mathematical Alphabetic Symbols (1EE00—1EEFF, 143 characters)
Unicodes来自维基百科 - Arabic script in Unicode
答案 1 :(得分:0)
我只允许使用阿拉伯语和英语字母。
我知道这不是最好的方法,但这是我的代码,它可以完美工作:
<div class="block">
<div class="container">
<button>£10</button>
<button>£20</button>
<button>£30</button>
</div>
</div>
P.S。 :不要忘记为您设置文本字段的代表