アポストロフィや期間について検証しません:文字をのみ、英数字、文字やスペースなどjqueryのは、私がのKeyDownイベントをキャプチャし、異なるケース等に入力したテキストを検証するためにjqueryのを使用している
正規表現を使用: 文字をスペースで:^ [-ZA-Z] + $ 文字のみ:^ [-ZA-Z] + $ 英数字:^ [-ZA-Z0-9] + $
これは私がバインド機能を使用する方法です:
$('.chars_and_space_only').bind('keydown', function (event) {
// http://stackoverflow.com/a/8833854/260665
var eventCode = !event.charCode ? event.which : event.charCode;
if((eventCode >= 37 && eventCode <= 40) || eventCode == 8 || eventCode == 9 || eventCode == 46) { // Left/Right Arrow, Backspace, Delete keys
return;
}
// http://stackoverflow.com/a/8833854/260665
var regex = new RegExp("^[a-zA-Z ]+$");
var key = String.fromCharCode(eventCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
上記のすべてのユースケースはうまくいきますが、文字、スペース、アポストロフィ、ピリオドを追加する必要があります。これは、私が変更した方法です:
$(".chars_space_dots_apostrophes_only").bind('keydown', function (event) {
// http://stackoverflow.com/a/8833854/260665
var eventCode = !event.charCode ? event.which : event.charCode;
if((eventCode >= 37 && eventCode <= 40) || eventCode == 8 || eventCode == 9 || eventCode == 46) { // Left/Right Arrow, Backspace, Delete keys
return;
}
// http://stackoverflow.com/a/8833854/260665
var regex = new RegExp("^[a-zA-Z '.]+$");
var key = String.fromCharCode(eventCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
これは、変なことに動作していないようです。 https://jsfiddle.net/ugu8f4y3/
正規表現を使用:
こんにちは:^ [。-ZA-Z」] + $ Regex validator上記の正規表現のために、このテキストを検証しない。ここフィドルです。世界の
ただし、フィドルのテキストフィールドでピリオドやアポストロフィを入力することはできませんが、ここには何か不足していますか?