如何使用jQuery仅允许HTML输入框中的字母,点和空格?

时间:2017-01-11 09:58:40

标签: jquery html validation

我正在创建一个网页,其中我有一个输入文本字段,其中我只允许字母,点和空格,如" a b.c"。

连续的单词/字符之间允许使用空格和点,但不允许使用两个连续的空格或点。

允许: - " abc def.xyz"

不允许: - " abc def..xyz"

如何使用jQuery执行此操作?

3 个答案:

答案 0 :(得分:1)

您可以使用以下模式。它只允许字母,点和空格
$(function() { $('#username').keydown(function(er) { if(er.altKey||er.ctrlKey||er.shiftKey) { er.preventDefault(); } else {var key=er.keyCode; if(!((key==8)||(key==9)||(key==32)||(key==46)||(key>=65 && key<=90))) { er.preventDefault(); alert("please enter only alphabets") } } }); });
否则使用防止默认方法

public static void schedule(IEntity entity, Date startdate) {
    try {
        JobDetail job = JobBuilder.newJob(StatingUpdateJob.class)
                .withIdentity("UpdateStagingRecords" + entity.getId(), "StgToProduction").build();
        JobDataMap data = new JobDataMap(new HashMap<>());
        data.put("Entity", entity);
        job.getJobBuilder().setJobData(data);

        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
        Date enddate = new Date();
        enddate.setTime(startdate.getTime() + 6000000);
        CronTrigger cronTrigger = TriggerBuilder.newTrigger()
                .withIdentity("UpdateStagingRecords" + entity.getId(), "StgToProduction").startAt(startdate)
                .withSchedule(CronScheduleBuilder.cronSchedule("0 0/5 * 1/1 * ? *")
                        .withMisfireHandlingInstructionDoNothing())
                .endAt(enddate).build();
        Connection connection = DBConnectionManager.getInstance().getConnection("myDS");
        System.out.println(connection);
        scheduler.scheduleJob(job, cronTrigger);
        scheduler.start();
    } catch (Exception e) {
        System.out.println("Something went wrong");
        e.printStackTrace();
    }

}

答案 1 :(得分:1)

经过一番搜索,我找到了答案。

我们可以使用下面的正则表达式来实现这一点。

/ ^([\ S。] [A-ZA-Z] +)+ $ /

完成jQuery功能: -

<script>
    $(document).ready(function () {
        $("input[type='text']").each(function () {
            $(this).blur(function (e) {                  
                if (Validate(this.id)) { }
                else { alert('invalid input'); }
            });
        });

        function Validate(evt) {
            var isValid = false;
            var regex = /^([\s\.]?[a-zA-Z]+)+$/;              
            isValid = regex.test($("#" + evt).val());
            return isValid;
        }
    });
</script>

答案 2 :(得分:0)

您应该找到符合您偏好的正则表达式。

然后你应该创建一个函数,在使用regexp test检查输入的keyup上触发。