我想只允许在我的网页中输入英文,数字和特殊字符。我想用jQuery或JavaScript应用这个东西。其实我的应用程序是在2种语言,所以我想这样做。我也想用阿拉伯语做同样的事情..请帮助我。 我该怎么做?如何只允许在文本框中使用jQuery或JavaScript的英文,数字和特殊字符?
回答
如果CH是字符,你可以做到这一点
if((ch.charCodeAt(0)>="a".charCodeAt(0) && ch.charCodeAt(0)<="z".charCodeAt(0))||(ch.charCodeAt(0)>="A".charCodeAt(0) && ch.charCodeAt(0)<="Z".charCodeAt(0)))
你可以用它在Unicode中代表阿拉伯字符
做同样的比较
[\u0600-\u06ff]|[\u0750-\u077f]|[\ufb50-\ufc3f]|[\ufe70-\ufefc]
你可以试试以下代码使用JavaScript replace method。该替代方法接受一个正则表达式,所以你可以定义你想/不想键入的文本框很多漂亮的事:
<script type="text/javascript">
$('#textboxID').bind('keyup blur',function() {
$(this).val($(this).val().replace(/[^A-Za-z0-9]/g,''))
});
</script>
这里的的jsfiddle尝试了这一点:http://jsfiddle.net/leniel/rtE54/
经过多一点思考我实现了这个代码:
$("#mytextbox").on("keypress", function(event) {
// Disallow anything not matching the regex pattern (A to Z uppercase, a to z lowercase, digits 0 to 9 and white space)
// For more on JavaScript Regular Expressions, look here: https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions
var englishAlphabetDigitsAndWhiteSpace = /[A-Za-z0-9 ]/g;
// Retrieving the key from the char code passed in event.which
// For more info on even.which, look here: http://stackoverflow.com/q/3050984/114029
var key = String.fromCharCode(event.which);
//alert(event.keyCode);
// For the keyCodes, look here: http://stackoverflow.com/a/3781360/114029
// keyCode == 8 is backspace
// keyCode == 37 is left arrow
// keyCode == 39 is right arrow
// englishAlphabetDigitsAndWhiteSpace.test(key) does the matching, that is, test the key just typed against the regex pattern
if (event.keyCode == 8 || event.keyCode == 37 || event.keyCode == 39 || englishAlphabetDigitsAndWhiteSpace.test(key)) {
return true;
}
// If we got this far, just return false because a disallowed key was typed.
return false;
});
$('#mytextbox').on("paste",function(e)
{
e.preventDefault();
});
你可以阅读更多关于它在这里:JavaScript regex + jQuery to allow only English chars/letters in input textbox
这个问题是,如果你试图写它中间是将光标移动到最后。 – Aristos
请参阅已解决此问题的解决方案的更新答案。 –
尝试类似的东西。对于英文字符的正则表达式为/^[A-ZA-Z0-9] * $/
<input name="yourtextbox" class="englishonly">
<script type="text/javascript">
$('.englishonly').bind('keyup blur',function(){
$(this).val($(this).val().replace(/^[A-Za-z0-9]*$/g,'')); }
);
</script>
'0-9'是阿拉伯数字。他们应该被允许进入吗? :) – RASG
您可以限制对onkeypress
按键基地检查,如果关键是在你设定的限制。
function ValidateKey()
{
var key=window.event.keyCode;
var allowed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :;,.?!£$%^&*()_+-*{}@~<>&"\'';
return allowed.indexOf(String.fromCharCode(key)) !=-1 ;
}
,你可以用它作为
<input size="30" value="" onkeypress="return ValidateKey();" >
和小提琴:http://jsfiddle.net/UHGRz/3/
可以应用于与jQuery的所有输入控件。没有与复制/粘贴工作,那里你需要更换Lenier解决方案。
并皈依了jQuery代码
jQuery("input").keypress(function()
{
var key=window.event.keyCode;
var allowed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ :;,.?!£$%^&*()_+-*{}@~<>&"\'';
return allowed.indexOf(String.fromCharCode(key)) !=-1 ;
})
- 1. 如何只允许使用jQuery或JavaScript的文本框中的阿拉伯文,数字和特殊字符?
- 2. RegEx只允许英文文本和没有特殊字符
- 3. 只允许英文字母/数字/数字和一些特殊字符
- 4. 只允许在文本框中输入数字和特殊字符( - )
- 5. 如何只允许使用JS的文本框中的所有特殊字符?
- 6. 只允许字母和特殊字符
- 7. 如何允许输入文本和数字,但不允许特殊字符?
- 8. 只允许在文本框中使用英文字符的正则表达式
- 9. 允许只有字母数字在文本框使用jQuery
- 10. 如何禁用文本框中的特殊字符和数字?
- 11. 只允许在文本框中使用字母,数字和正斜杠的JQuery
- 12. 如何排除特殊字符并允许西班牙文/英文字母?
- 13. 如何只允许日文字符在文本框中
- 14. 只允许在文本框C#数字
- 15. 文本框只允许使用字母
- 16. 允许在文本框中输入非英文字符
- 17. 如何限制字符串不允许使用数字或特殊字符?
- 18. 只允许文本框中的特定字符
- 19. 只允许使用AngularJs的文本框中的字符
- 20. 如何只允许数字和点在文本框vb.net
- 21. 只允许在英文字母和数字在php
- 22. 文本框掩码只允许数字
- 23. 允许0-9,a-z,A-Z和特殊字符。 ,@&(){} []:;在文本框中
- 24. jquery验证字符串 - 只允许数字和特定字符
- 25. 如何只允许angularjs中的文本框中的数字?
- 26. 如何使用正则表达式在asp.net中只输入数字不允许的字母或特殊字符?
- 27. 限制一个文本框,以允许在开始时使用特殊字符
- 28. 允许一些特殊字符和字母数字字符
- 29. jquery/JS只允许在文本框中输入数字和字母
- 30. 如何允许在警予模型规则仅英文字符的文本框
1 - 你尝试过什么? 2-什么是“英文”字符?其中之一是'$'吗?我知道“英语”使用它。 – RASG
英文甚至使用é – Quentin
'$('input')。change(function(){$(this).val('English characters');}' – mayhewr