webForumDet fria alternativet

Strängkoll

7 svar · 226 visningar · startad av Asa

AsaMedlem sedan dec. 20011 934 inlägg
#1

Kan man med javascript kolla om ett fält innehåller http:// först i fältet? Om man inte har skrivit http:// när man klickar på submit ska alerten komma upp där det typ står. Ogiltigt länkformat eller nåt.

Nuvarande kod:

function Url(){ 
	if (document.form.hemsida.value==""){
                alert("Du glömde skriva hemsidans url!");
		return false;
	}
}

Sen behöver jag ha en emailkoll i samma funktion. Det ska kollas så det är en giltigt adress. Med @ och .xxx - Den ska ligga efter hemsida i javascriptkoden.

m_soderlundMedlem sedan sep. 20024 733 inlägg
#2

Kan detta fungera?

<input type="text" name="foo" value="http://" onSubmit="if(this.value==''){ this.value='http://'+foo.value; }" />

/r Jag kom just på att min kod inte kommer att fungera så bra. :(
Men den kanske är en start för någon annan att bygga vidare på? :D

AsaMedlem sedan dec. 20011 934 inlägg
#3

Kanske det, om man kan javascript...

dhoMedlem sedan aug. 20021 515 inlägg
#4

Ett reguljärt uttryck som testar om "http://" finns först i strängen.

var testURL = new RegExp("^[url]http://[/url]");
return testURL.test(document.form.hemsida.value);
AsaMedlem sedan dec. 20011 934 inlägg
#5

Hur skriver man i valideringen för att kolla detta OM man fyllt in nåt i fältet. Fältet ska inte vara obligatoriskt.

Peter SMedlem sedan dec. 20025 484 inlägg
#6

En simpel kombination förutsatt att ditt e-postfält heter "email":

function f() {
	var elm = document.forms["form"].elements;

	if (!/^http:\/\//.test(elm["hemsida"].value)) {
		alert("Hemsideadressen måste börja med [url]http://[/url]");
		return false;
	}
	if (!/^(([\w])+([\.]){1})*([\w])+@([\w])+(([\.]{1})([A-Za-z]){2,4})+$/.test(elm["email"].value)) {
		alert("Felaktig e-postadress!");
		return false;
	}
}

:)

AsaMedlem sedan dec. 20011 934 inlägg
#7

Men den koden gör ju att man måste skriva hemsideadress. Vill att OM det är ifyllt så ska checken göras.

dhoMedlem sedan aug. 20021 515 inlägg
#8

En variant på den jag skickade in ovan.

function checkURL(str) {
	
	var testURL = new RegExp("(^[url]http://[/url]|^$)");
	return testURL.test(str);
	
}
Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb