次のようなテキストボックスがあります。
<input type="text" size="30" name="form[id]" id="form_id">
検証する JavaScript 関数が必要です。
- スペースは使用できません。
- 数字、文字、ダッシュ (-)、アンダースコア (_) のみを使用でき、その他の特殊文字は使用できません。
- 空であってはなりません
ユーザーの入力が検証に違反している場合の送信時。警告メッセージが表示されます。
次のようなテキストボックスがあります。
<input type="text" size="30" name="form[id]" id="form_id">
検証する JavaScript 関数が必要です。
ユーザーの入力が検証に違反している場合の送信時。警告メッセージが表示されます。
jQueryで私はそのようなことをします:
$('#formId').submit(function(e) {
var validator = new RegExp(/^[\w_-]{1,}$/), //Min 1 char or more
text = $('input[name="form[id]"]').val();
if(validator.test(text))
$(this).submit();
else {
alert('Code not valid');
return false;
}
});
注意: jsfiddle は atm を停止しており、コードはテストされていません
これがJavaScriptです
<script type="text/javascript">
function NoSpecialChars(){
var element=document.getElementById('form_id');
var specialchars= "!@#$%^&*()+=[]\\\';,./{}|\":<>?";
if(element.value.length==0){
alert('Enter some text');
return false;
}
for (var i = 0; i < element.value.length; i++) {
if (specialchars.indexOf(document.formname.fieldname.value.charAt(i)) != -1) {
alert ("Those are not allowed.");
return false;
}
}
return true;
}
</script>
テキストボックスのonclientclickイベントをサブスクライブする必要があります。
<input type="text" size="30" name="form[id]" id="form_id" onclientclick="return NoSpecialChars();">
それが役に立てば幸い
フォームの検証には JQuery 検証エンジンを使用します。JQuery 検証のリンクは次のとおりです。